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在不同目录下导入模块的实现方法
Oct 27 Python
浅谈django model postgres的json字段编码问题
Jan 05 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
Python之list对应元素求和的方法
Jun 28 Python
朴素贝叶斯Python实例及解析
Nov 19 Python
Python Image模块基本图像处理操作小结
Apr 13 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
Python版中国省市经纬度
Feb 11 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 Python
python em算法的实现
Oct 03 Python
如何基于python实现单目三维重建详解
Jun 25 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
10条php编程小技巧
2015/07/07 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
Yii框架通过请求组件处理get,post请求的方法分析
2019/09/03 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
Jquery下的26个实用小技巧(jQuery tips, tricks & solutions)
2010/03/01 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
[01:00:30]TFT vs VGJ.T Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
python Tkinter版学生管理系统
2019/02/20 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
python 回溯法模板详解
2020/02/26 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
庆中秋节主题活动方案
2014/02/03 职场文书
升学宴主持词
2014/04/02 职场文书
国庆宣传标语
2014/06/30 职场文书
感谢信的格式
2015/01/21 职场文书
新入职员工工作总结
2015/10/15 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python
Redis基本数据类型List常用操作命令
2022/06/01 Redis