python读取yaml文件,在unittest中使用
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文件
近期看到好多使用Yaml文件做为配置文件或者数据文件的工程,随即也研究了下,发现Yaml有几个优点:可读性好.和脚本语言的交互性好(确实非常好).使用实现语言的数据类型.有一个一致的数据模型.易于实现 ...
- 使用python读取yaml文件
在做APP测试时,通常需要把参数存到一个字典变量中,这时可以将参数写入yaml文件中,再读取出来. 新建yaml文件(android_caps.yaml),文件内容为: platformName: A ...
- python 读取yaml文件
简介 在实际开发过程中,我们可能需要读取一些配置文件的配置信息,例如ini.yaml.property等格式,本文将讲述怎么去获取和设置yaml文件的相关参数. 示例yaml文件 test1: tes ...
- day11_单元测试_读取yaml文件中的用例,自动获取多个yaml文件内容执行生成报告
一.使用.yaml格式的文件直接可以存放字典类型数据,如下图,其中如果有-下一行有缩进代表这是个list,截图中是整体是一个list,其中有两部分,第二部分又包含另外一个list 二.单元测试:开发自 ...
- python读取yaml配置文件
支持多种语言:python.js.golang.java.c.c++ YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写.它实质上是一种通用的数据串行化格式. 它的基本语法规则如下 ...
- python读取中文文件编码问题
python 读取中文文件后,作为参数使用,经常会遇到乱码或者报错asii错误等. 我们需要对中文进行decode('gbk') 如我有一个data.txt文件有如下内容: 百度 谷歌 现在想读取文件 ...
- Python读取SQLite文件数据
近日在做项目时,意外听说有一种SQLite的数据库,相比自己之前使用的SQL Service甚是轻便,在对数据完整性.并发性要求不高的场景下可以尝试! 1.SQLite简介: SQLite是一个进程内 ...
- Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal multibyte sequence
Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal mul ...
- python读取单个文件操作
python读取单个文件,参考<笨方法学python>的第15节. 运行方式是采用:python python文件名 要读取的文件名 代码中 script, filename = argv ...
随机推荐
- Kali和Metasploitable2的网络配置
Kali和Metasploitable2的网络配置 2017年06月19日 16:00:00 weixin_34275734 阅读数 389 原文链接:https://blog.csdn.net/ ...
- python3学习之lambda+sort
>>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')] >>> pairs.sort(key ...
- python笔记35-装饰器
前言 python装饰器本质上就是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象. 很多python初学者学到面向对象类和方法是一道大坎,那么p ...
- c++输出中文乱码解决方案
问题的原因应该在cmd的编码和c++程序编码(源文件编码)的不同.cmd默认的是gbk编码,而我用的vs code默认是utf-8编码,因而在输出中文文本时会出现乱码. 但我也遇到了一个比较怪异的情况 ...
- 铺砖头问题(完美)——爆搜&&插头DP
题意 给定一个 $n \times m$ 的格子,每个格子被染成了黑色或白色.现在要用 $1 \times 2$ 的砖块覆盖这些格子,要求块与块之间互不重叠,且覆盖了所有白色的格子,但不覆盖任意黑色格 ...
- learning armbian steps(11) ----- armbian 源码分析(六)
接下来我们来分析一下uboot的编写过程: 从 lib/compilation.sh 89开始阅读: compile_uboot() { # not optimal, but extra clean ...
- zabbix-trap
安装 yum -y install zabbix-sender zabbix sender 在客户端给server端发送信息, -z 指定server的ip -p 指定端口 10051 -s 被监控设 ...
- Linux启动与停止Tomcat
停止Tomcat: cd 切换到Tomcat的bin目录下,关闭命令:[root@localhost bin]# ./shutdown.sh 检查tomcat是否已关闭,检查命令:[root@loca ...
- c++ 获取字符串中最长的回文子串
#include <vector> #include <iostream> #include <string> using namespace std; strin ...
- SpringBoot:关于默认连接池Hikari的源码剖析
1.起因 因为这两天在给公司的一个项目升级SpringBoot版本,遇到了一些坑,升级项目版本:SpringBoot1.5.x到SpringBoot2.0.x 今天早上双库操作遇到一个问题:jdbcU ...