python 读取yaml文件的两种方法(在unittest中使用)
作者:做梦的人- 发布时间:2021-04-20 17:38:30
标签:python,yaml,unittest
作者:做梦的人(小姐姐)
出处: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(),"元素没有查找到,登录失败")
来源:https://www.cnblogs.com/chongyou/p/11159856.html
0
投稿
猜你喜欢
- 对于一个Dict:test_dict = {1:5, 2:4, 3:3, 4:2, 5:1}想要求key值大于等于3的所有项:print({
- Windows中升级MySQL应采取的步骤:1. 进行升级前你应先备份当前的MySQL安装。2. 下载最新Windows版MySQL。3.
- 本文实例讲述了Yii开启片段缓存的方法。分享给大家供大家参考,具体如下:1、main.php文件中的components中添加:cache&
- 最近在工作中遇到了一个小问题,如果要将字符串型的数据转换成dict类型,我第一时间就想到了使用json函数。但是里面出现了一些问题1、通过j
- 最近在做python的web开发(原谅我的多变,好东西总想都学着。。。node.js也是),不过过程中总遇到些问题,不管是web.py还是d
- 1. 单行导入与多行导入在 Go 语言中,一个包可包含多个 .go 文件(这些文件必须得在同一级文件夹中),只要这些 .go 文件的头部都使
- 简介: 我们在这世上,选择什么就成为什么,人生的丰富多彩,得靠自己成就。你此刻的付出,决定了你未来成为什么样的人,当你改变不了世界
- 本文给出了几个表单常用的js验证函数,有检查、\等特殊字符的,有检查是否含有空格,检查是否为Email 地址,也有检查是否是小数或负数的,检
- asp判断网址格式是否合法代码 具体实现办法见下列代码:<% function checki
- 谢谢icedblog提供的代码, 从那个js中我参考了moveSelect的利用, 不过那个代码中有几个BUG, 比如按住鼠标不放会不见显示
- 一、'建立register.asp 代码如下:<%@ language=vbscript %>&nb
- 好久没有更新过PyQt5相关的专题了,今天正好有空就做一个文件、文件内容检索的小工具。目的是为了能够很快的完成的在任意磁盘路径下找到我们需要
- 前言:数据库是大多数 Web 应用的基础设施,只要想把数据存储下来,就离不开数据库,下面将一起学习一下如何给 Flask 应用添加数据库支持
- 我在网站上设置了邮件列表功能,实现用户自动订阅和发送,但很多用户输入和提交的邮件地址格式都是无效的,无法处理。请问如何解决这一问题?&nbs
- 翻译整理:Young.J;官方网站:http://jquery.comjQuery是一款同prototype一样优秀js开发库类,特别是对c
- 做个性休闲类项目课程材料,对这方面要求多一些,要总结方法、手法、想法等等,头大了;这里总结了一个做个性字体设计的方法,分享一下;方法是比较简
- 本文源于一时好奇,想要弄清出python的staticmethod()这一builtin方法的实现,查了一些资料(主要是python官方手册
- 最近项目中遇见 Jquery Ajax 缓存问题,load出来的页面状态有时正常,有时不对,记录一下,希望对大家有帮助使用jquery里lo
- 建立随机生成的HTML代码是一件相当容易实现的ASP特性。你可能创建过“每日一帖”、滚动广告等等,只需要稍加点缀就会令你的网站日久弥新。对存
- 关于采集-防采集的我想大家都很清楚。这个就不多说,采集最终还是从页面源代码入手,所以只要没有规律想采集就难!由于一天自己在策划某个网站的时候