selenium+allure測試報告添加測試截圖


測試演示shopXO: https://demo.shopxo.net/

1.編寫一個pytest腳本文件

import pytest
import pytest_html
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import allure

@allure.feature("購物測試類")
class Test_New(object):
    @pytest.fixture(scope='session')
    def driver(self):
        global _browser
        _browser = webdriver.Chrome(executable_path="C:\\chromedriver\\chromedriver")
        _browser.maximize_window()
        yield _browser
        _browser.close()

    def screen(self,driver,s):
        if s is not None:
            allure.attach(driver.get_screenshot_as_png(), s, allure.attachment_type.PNG) #保存截圖為allure的附件

    @allure.story("流程1")
    @allure.title("游客登錄")
    def test_guest(self,driver):
        driver.get("https://demo.shopxo.net")
        self.screen(driver,'進入首頁') #保存當前截圖
        driver.implicitly_wait(2)
        driver.find_element_by_xpath("//div[@class='member-login']//a[1]").click()
        self.screen(driver,'點擊登錄后') #保存當前截圖
        driver.implicitly_wait(2)
        driver.find_element_by_xpath("//div[@class='forgetpwd-top']//a[2]").click()
        WebDriverWait(driver,10).until(EC.text_to_be_present_in_element((By.XPATH,"//div[@class='am-g my-content tips-success']//span[@class='msg']"),"登錄成功"))
        self.screen(driver,'點擊游客后')  # 保存當前截圖
        driver.implicitly_wait(2)

if __name__=='__main__':
    pytest.main(['-s','--disable-warnings','test_new.py','--alluredir', './allure_report'])

 

運行后就可以看每次操作的截圖,可以封裝webdriver操作進行截圖,運行效果:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM