数据驱动
yaml
https://www.ruanyifeng.com/blog/2016/07/yaml.html
https://yaml.org/spec/1.1/#id857168
https://pyyaml.org/wiki/PyYAMLDocumentation
allure2
allure2解析过程
- 安装allure2
- 生成allure测试结果 pytest --alluredir=allure .
- 展示报告 allure serve allure/
- 生成最终版本的报告 allure generate allure/
使用allure2提供的api,增强报告
August
(YuJiayin)
2
不能在类里使用__init__()方法初始化参数数据么
pytest不允许测试类出现初始化方法,不然整个类就不会被当成测试类
测试步骤的数据驱动没听太明白,老师可以举一个实际的例子吗
看下咱们的selenium的录播视频的例子,里面有详细的如何定义测试步骤的数据驱动的案例
老师,allure的环境部署能说说吗,我今天搞了2次都没有成功
老师,如果在Windows下面如何启动allure进行查看报告呢?
assert 1.1 + 2.2 == 3.3
这个结果为啥是3.3000000000000003 != 3.3
啊,怎么解决?
test_fixture.py
这个例子中:
yield request.param 这段代码中为什么要有yield,而且我尝试将request.param不与yield写在同一行,test_add2就会failed,为什么?
计算机是无法精确表示浮点数的,需要使用close_to这种表示接近的断言。
sunji
(sunji)
11
老师通过cmd方式可以,pycharm 中的terminal不行呢?
def provider(self):
for i in range(5):
print("setup")
yield i
print("teardown")
def test_yield(self):
for d in self.provider():
print(d)
缺少 pytest-html 依赖, 使用pycharm安装下即可
两个执行的环境不一样,一个是虚拟环境,一个是本地环境
s1mp1e
(LeClaire)
15
windows下安装使用allure生成测试报告:
1,安装allure报告插件库:pip install allure-pytest
2,运行生成测试结果:pytest <测试目录> --alluredir <测试结果存放目录>,
例如:pytest test --alluredir report/allure_raw
注意:这个时候allure_law里边的内容只是测试结果(jaon,txt文件),还不是报告
3,生成漂亮的测试报告:
从allure官网(http://allure.qatools.ru/)下载最新的allure,下载后是个zip文件,解压到相关目录(我这里是D:\Software\allure\lib\)下,同事把解压后的bin目录添加到环境变量PATH中,就可以直接使用allure命令(可用Powershell试试)注意:这里需要jdk的支持,因此需要安装jdk配置环境变量
生成报告命令:allure generate <allure测试结果目录> -o <存放报告的目录> --clean
例如:allure generate report/allure_raw -o report/allure_report --clean
–clean参数用来清空已有的报告,避免覆盖是出错
查看报告注意:再pycharm中邮件index.html,Open in Browser查看,不然在文件夹中打开会出现跨域拦截,导致测试报告加载不出数据,或者用命令:allure open /report/allure_report(运行后会启动一个web服务用于展示报告)
1 个赞
这个同学说的对,pycharm里的term跟外面的不一样,是用的虚拟环境。两个地方的依赖安装的可能不同。
不要替换,yield和return是不一样的作用的,参考我之前给出的yield的例子。fixture是要求使用yield的