Python+Selenium 八:selenium+pytest+allure生成测试报告
一、目录结构

·report 生成html报告的目录
·result 执行allure生成的源文件
·screenshot 是截图后保存的目录
·data.yaml 存放的参数化的数据
·test_data.py 真正的执行程序
二、代码示例
data.yaml
1 - allure 2 - pytest 3 - selenium
test_data.py
1 import allure
2 from selenium import webdriver
3 import pytest
4 import yaml
5 import time
6
7
8 @allure.testcase('http://www.github.com')
9 @allure.feature('百度搜索')
10 @pytest.mark.parametrize('data', yaml.safe_load(open("data.yaml")))
11 def test_steps_demo(data):
12 with allure.step("打开百度首页"):
13 driver = webdriver.Chrome()
14 driver.get("http://www.baidu.com")
15 driver.maximize_window()
16
17 with allure.step(f"输入关键词:{data}"):
18 driver.find_element_by_id('kw').send_keys(data)
19 time.sleep(2)
20 driver.find_element_by_id('su').click()
21 time.sleep(2)
22
23 with allure.step("保存图片"):
24 driver.save_screenshot("./screenshot/"+data+".png")
25 allure.attach.file("./screenshot/"+data+".png")
26 attachment_type = allure.attachment_type.PNG
27
28 with allure.step("关闭浏览器"):
29 driver.quit()
三、执行命令
1、命令:
1 pytest test_data.py -s -q --alluredir=./result/
执行后可在result目录中生成原始的allure源文件
2、生成html报告:
1 allure generate ./result -o ./report --clean
执行后可在report中生成可视化的html报告

浙公网安备 33010602011771号