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通过正则查找微博@(at)用户的方法
Mar 13 Python
使用rpclib进行Python网络编程时的注释问题
May 06 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python如何通过subprocess调用adb命令详解
Aug 27 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
May 30 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
Numpy一维线性插值函数的用法
Apr 22 Python
pandas DataFrame运算的实现
Jun 14 Python
python 利用toapi库自动生成api
Oct 19 Python
用60行代码实现Python自动抢微信红包
Feb 04 Python
pandas中对文本类型数据的处理小结
Nov 01 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
php仿ZOL分页类代码
2008/10/02 PHP
php微信支付之APP支付方法
2015/03/04 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
2020/02/25 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
python生成九宫格图片
2018/11/19 Python
使用Python 统计高频字数的方法
2019/01/31 Python
Python变量类型知识点总结
2019/02/18 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
构造器Constructor是否可被override?
2013/08/06 面试题
init进程的作用
2015/08/20 面试题
大学生自我鉴定
2013/12/08 职场文书
企业标语大全
2014/07/01 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
教师四风问题整改措施
2014/09/25 职场文书
行政上诉状范文
2015/05/23 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
使用Java去实现超市会员管理系统
2022/03/18 Java/Android