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报告

 

posted @ 2022-03-22 19:24  shizs25  阅读(860)  评论(0编辑  收藏  举报