首先老樣子安裝庫
pip install pytest-html
示例代碼
from selenium import webdriver
import random
import pytest
import time
class Test_restart(object):
@pytest.fixture(scope="function", autouse=True)
def setUp(self):
global dr
dr = webdriver.Chrome('D:\\chromedriver456.exe')
yield
dr.quit()
def test_one(self):
#dr = self.dr
assert random.randint(1, 3) == 3
dr.maximize_window()
dr.get('https://www.baidu.com/')
dr.implicitly_wait(3)
el_text =dr.find_element_by_id('kw')
el_text.send_keys('雪落下的聲音')
time.sleep(1)
el_click = dr.find_element_by_id('su')
el_click.click()
time.sleep(3)
el_text.clear()
el_text.send_keys('心跳的信號')
time.sleep(1)
el_click.click()
time.sleep(5)
def test_two(self):
#dr = self.dr
dr.maximize_window()
dr.get('http://192.168.1.200:8111/#/login')
dr.implicitly_wait(3)
el_user = dr.find_element_by_id('username')
el_user.send_keys('admin')
el_pass = dr.find_element_by_id('password')
el_pass.send_keys('111111')
time.sleep(1)
el_submit = dr.find_element_by_xpath(".//*[@type='submit']")
el_submit.click()
time.sleep(5)
assert 1==1
按好了插件,敲好了代碼直接在命令行加個參數即可生成測試報告
pytest Test_restart.py --reruns 3 --reruns-delay 1 --html=reportname.html
默認生成的html在腳本同目錄下,可寫相對路徑,絕對路徑
pytest Test_restart.py --reruns 3 --reruns-delay 1 --html=./report/123.html
但是也可以看出它的css是額外的style文件,我們可以讓他在HTML裏面。
pytest Test_restart.py --reruns 3 --reruns-delay 1 --html=./report/123.html --self-contained-html
————————————————————————————————————————————————————————
它默認生成的是沒有描述列的,我們希望可以像unittest一樣方法前加入註解來描述此方法的含義,也可以加入截圖
https://www.cnblogs.com/linuxchao/p/linuxchao-pytest-report.html這裏會教你腫麼做
————————————————————————————————————————————————————
Allure
一個更友好的測試報告。首先需要去gihub下載
https://github.com/allure-framework/allure2/releases/tag/2.7.0
Allure是java編寫的所以需要java環境來支持,所以需要安裝jdk。
Allure安裝很簡單就配置一個環境變量即可,配置完可用--version查看是否成功
之後去安裝allure-pytest
pip install allure-pytest
安裝完成後就可以去運行腳本了,只需要在運行命令上加入參數。
生成報告
pytest Test_restart.py --alluredir reportforxml
#reportforxml是指定的目錄
生成完此目錄後,目錄中都是json文件
這時候輪到allure登場了
前面pytest -s -q --alluredir 這一步已經生產了xml格式的報告,放到了目錄下,接着執行以下命令格式
allure generate 命令生成的文件 -o 把文件轉換到的目錄/(生成html的目錄)
之後報告就生成出來了。