1. 程式人生 > 實用技巧 >pytest+allure+selenium網頁自動化並生成圖示報告

pytest+allure+selenium網頁自動化並生成圖示報告

一、前言

pytest+allure+selenium是目前市面上應用比較廣泛的前端自動化測試組合。

二、目錄結構

·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報告

3、啟動站點服務檢視html報告(可步不是必須的,也可直接開啟report目錄中的index.html檢視報告)

1 allure open -h 127.0.0.1 -p 8883 ./report 

五、後語

是不是感覺高大上了?

一入IT深似海

從此偷懶成路人

好好學習吧,騷年