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


猜你喜欢
- 组件之间传值/调用方法的几种方式(一)父组件向子组件传值==props1.在父组件中使用子组件的地方绑定数据<children :me
- python入门之语句,包括if语句、while语句、for语句,供python初学者参考。//if语句例子name = 'peir
- 本来是只用Tenorflow的,但是因为TF有些Numpy特性并不支持,比如对数组使用列表进行切片,所以只能转战Pytorch了(pytor
- 废话不多说,直接上代码吧!import threadingimport osclass Find(threading.Thread): #搜
- 案例解析这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子:# module1.pydef tes
- argparse 是 python 的一个命令行解析包,可根据需要编写高可读性的程序。网上的许多教程较为冗长和散漫,没有达到精练好掌握的目的
- 此程序为先调用opencv自带的人脸检测模型,检测到人脸后,再调用我自己训练好的模型去识别人脸,使用时更改模型地址即可#!usr/bin/e
- 信息图表设计(Inforgraphic Design),是信息设计(Information Design)学科的一个分支,它兴起于20世纪末
- 本文实例讲述了PHP使用Face++接口开发微信公众平台人脸识别系统的方法。分享给大家供大家参考。具体如下:效果图如下:具体步骤如下:首先,
- 大致功能:$() 取得所有元素$("div") 取得所有DIV$("#a1") 取得ID为a1的元素
- 本文实例讲述了Python使用MD5加密算法对字符串进行加密操作。分享给大家供大家参考,具体如下:# encoding: utf-8from
- 1.创建vue项目vue create demodemo是项目名称2.安装axios进入demo里面打开终端(黑窗口),执行npm inst
- 如何修改NT的登录密码? 代码见下:<%Sub ChangeUserPassword(C
- 在数据预处理过程中可能需要将列的顺序颠倒,有两种方法。import numpy as npimport pandas as pddf = p
- 作者:bencalie 整理日期:2004年6月15日<xml id="users"> <u
- 写这个的目地,主要是系统理下目前产品设计的流程,提醒自己尽量去避免一些常见的问题,也能让大家系统的了解天极网的产品设计流程。当然,不保证任何
- Python django中我们经常用的response有django中的 JsonResponse, HttpResponse,还有DRF
- 假设页面源代码如下:<input type="text"name="wd" id="
- 查找所有数据库中没有主键的表select table_schema,table_name from information_schema.t
- 前言不知道什么是版本库的,扇自己两个大嘴巴;知道但不用的,扇自己四个大嘴巴。快扇去。你真扇了?那你是个大傻瓜。扇什么扇,有扇自己的功夫,还不