python 读取yaml文件的两种方法(在unittest中使用)


Posted in Python onDecember 01, 2020

作者:做梦的人(小姐姐)
出处:https://www.cnblogs.com/chongyou/

python读取yaml文件使用,有两种方式:

1.使用ddt读取

2,使用方法读取ddt的内容,在使用方法中进行调用

1.使用ddt读取

@ddt.ddt
class loginTestPage(unittest.TestCase):
    @ddt.file_data(path)
    @ddt.unpack
    def testlogin(self,**kwargs):
        u'''
       "输入邮件账号、用户名、密码符合要求
       勾选同意协议"  1、注册成功,跳转到注册成功页面    "
        1、验证URL,https://www.XX.com/site/register-success.html
        2、邮箱收到注册成功邮件
        3、数据库中user表中有成功添加注册账号数据"
 
        :return:
        '''
 
        self.loginPage = CBLogin(self.driver)
        log.info(kwargs)
        self.page = Page(self.driver,kwargs.get('login_url'))
 
        self.page.send_text(self.loginPage.login_sendkes_username(),kwargs.get('username'))
        self.page.send_text(self.loginPage.login_sendkes_password(),kwargs.get('password'))
        self.page.click(self.loginPage.login_click_btn())
        # 断言登录是否成功
        self.assertIsNotNone(self.loginPage.is_success(),"元素没有查找到,登录失败")

2.使用已有的方法进行调用

class HandleYmal:
    """
    获取测试环境的配置
    """
    def __init__(self,file_path=None):
        if file_path:
            self.file_path=file_path
        else:
            #获取path
            root_dir=os.path.dirname(os.path.abspath('.'))
            print(root_dir)
            self.file_path=root_dir+"/config/base.yaml"
    def get_data(self):
        fp=open(self.file_path,encoding="utf-8")
        data=yaml.load(fp)
        return  data
 
 
 
@ddt.ddt
class loginTestPage(unittest.TestCase):
 
    @classmethod
    def setUpClass(cls):
        """前置应该是读取所有内容"""
 
        yaml=HandleYmal()
        cls.kwargs=yaml.get_data()['testenvironment']
        cls.driver = webdriver.Chrome()
 
    def testlogin(self):
        u'''
       "输入邮件账号、用户名、密码符合要求
       勾选同意协议"  1、注册成功,跳转到注册成功页面    "
        1、验证URL,https://www.chinabrands.com/site/register-success.html
        2、邮箱收到注册成功邮件
        3、数据库中user表中有成功添加注册账号数据"
 
        :return:
        '''
 
        self.loginPage = CBLogin(self.driver)
        log.info(self.kwargs)
        self.page = Page(self.driver,self.kwargs.get('login_url'))
        self.page.send_text(self.loginPage.login_sendkes_username(),self.kwargs.get('username'))
        self.page.send_text(self.loginPage.login_sendkes_password(),self.kwargs.get('password'))
        self.page.click(self.loginPage.login_click_btn())
        # 断言登录是否成功
        self.assertIsNotNone(self.loginPage.is_success(),"元素没有查找到,登录失败")

以上就是python 读取yaml文件的两种方法(在unittest中使用)的详细内容,更多关于python 读取yaml文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
Python字符串处理函数简明总结
Apr 13 Python
Python多线程爬虫简单示例
Mar 04 Python
Python文件与文件夹常见基本操作总结
Sep 19 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
Python Logging 日志记录入门学习
Jun 02 Python
利用python画出折线图
Jul 26 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
简单分析python的类变量、实例变量
Aug 23 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
Django框架之路由用法
Jun 10 Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 #Python
python录音并调用百度语音识别接口的示例
Dec 01 #Python
用python爬虫批量下载pdf的实现
Dec 01 #Python
python3字符串输出常见面试题总结
Dec 01 #Python
python3中数组逆序输出方法
Dec 01 #Python
Python爬虫简单运用爬取代理IP的实现
Dec 01 #Python
python爬虫请求头的使用
Dec 01 #Python
You might like
IStream与TStream之间的相互转换
2008/08/01 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
vue异步axios获取的数据渲染到页面的方法
2018/08/09 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
Python实现全角半角转换的方法
2014/08/18 Python
python实现斐波那契递归函数的方法
2014/09/08 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
通过实例解析Python return运行原理
2020/03/04 Python
Smashbox官网:美国知名彩妆品牌
2017/01/05 全球购物
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
网络技术支持面试题
2013/04/22 面试题
银行会计业务的个人自我评价
2013/11/02 职场文书
大学生自我鉴定
2013/12/08 职场文书
绩效工资分配方案
2014/01/18 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis
灵能百分百第三季什么时候来?
2022/03/15 日漫
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android