python 读取yaml文件的两种方法(在unittest中使用)
作者:做梦的人(小姐姐)出处:https://www.cnblogs.com/chongyou/
python读取yaml文件使用,有两种方式:
1.使用ddt读取
2,使用方法读取ddt的内容,在使用方法中进行调用
1.使用ddt读取
@ddt.ddtclass loginTestPage(unittest.TestCase): @ddt.file_data(path) @ddt.unpack def testlogin(self,**kwargs):u’’’ '输入邮件账号、用户名、密码符合要求 勾选同意协议' 1、注册成功,跳转到注册成功页面 '1、验证URL,https://www.XX.com/site/register-success.html2、邮箱收到注册成功邮件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_pathelse: #获取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.ddtclass 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.html2、邮箱收到注册成功邮件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文件的资料请关注好吧啦网其它相关文章!
相关文章:
1. Java实现Windows计算器界面2. Django migrate报错的解决方案3. python与pycharm有何区别4. IDEA 程序包不存在,找不到符号但是明明存在对应的jar包(问题分析及解决方案)5. Java多线程通信wait()和notify()代码实例6. Java中volatile防止指令重排7. 解决vue watch数据的方法被调用了两次的问题8. Django使用channels + websocket打造在线聊天室9. IDEA标签tabs多行显示的设置10. IDEA 2020.1 版自动导入MAVEN依赖的方法(新版MAVEN无法自动导入/更新POM依赖、MAVEN设置自动更新、自动更新快捷键)
![Java实现Windows计算器界面](http://www.haobala.com/attached/image/news/202211/104355c79b.jpg)