最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

軟件測試 | 結(jié)合Allure生成測試報(bào)告

2023-06-08 11:40 作者:愛測軟件測試  | 我要投稿

簡介

測試報(bào)告在項(xiàng)目至關(guān)重要,測試人員可以在測試報(bào)告中體現(xiàn)自己的工作量,開發(fā)人員可以從測試報(bào)告中 了解缺陷的情況,測試經(jīng)理可以從測試報(bào)告中看到測試人員的執(zhí)行情況及測試用例的覆蓋率,項(xiàng)目負(fù)責(zé) 人可以通過測試報(bào)告查看整個(gè)項(xiàng)目還余留多少問題。強(qiáng)大的測試報(bào)告能夠非常清晰的反映很多問題,提 供給相關(guān)人員了解項(xiàng)目的整體情況。

Allure 是一種靈活的、輕量級、支持多語言測試報(bào)告框架,它不僅能夠以簡潔的 web 報(bào)告形式顯示已測 試的內(nèi)容,而且允許參與開發(fā)的每個(gè)人,從測試的日常執(zhí)行中提取最大限度的有用信息。同時(shí)支持多種 語言包括 Java、Python、JavaScript、Ruby、Groovy、PHP、.Net、 Scala。

安裝

安裝 ALLURE

Mac 可以使用 brew 安裝 Allure,安裝命令如下:

brew install allure

關(guān)于 Allure 在其它操作系統(tǒng)安裝方式,參照官網(wǎng)(docs.qameta.io/allure/?#_installing_a_commandline)。

查看 Allure 版本:

allure --version

其他操作系統(tǒng)請參考?docs.qameta.io/allure/#?。

安裝 ALLURE-PYTEST 插件

與 pytest 結(jié)合需要安裝 allure-pytest 插件 pip install allure-pytest 。

Allure 特性

ALLURE FEATURE 與 ALLURE STORY

使用裝飾器 @allure.feature 和 @allure.store 來裝飾測試用例。

  • feature 相當(dāng)于大模塊,將測試用例分類到某個(gè) Feature 中,報(bào)告中 Behaviore 中顯示,相當(dāng)于測試 套件(Test Suite)

  • story 相當(dāng)于對應(yīng)功能或者模塊下的不同場景,屬于分支功能,相當(dāng)于測試用例(Test Case)

  • feature 與 story 類似于父子關(guān)系

定義測試類為 feature,定義測試方法為 story,代碼如下:

@allure.feature("測試登錄功能") class TestLogin: @allure.story("測試成功的登錄場景") def test_login1(self): pass @allure.story("測試失敗的登錄場景") def test_login2(self): pass

ALLURE STEP

測試過程中,如果想查看測試用例每個(gè)步驟的結(jié)果,可以添加測試步驟的裝飾器 @allure.step() 用法 1,方法加上裝飾器作為測試步驟:

import allure @allure.step def login(): pass @allure.step def search(): pass def test_with_nested_steps(): login() search()

用法 2,在用例中添加測試步驟

def test_search(): with allure.step("打開 Chrome 瀏覽器"): driver = webdriver.Chrome() with allure.step("打開 baidu.com"): driver.get("https://www.baidu.com")

關(guān)聯(lián)測試用例

在測試報(bào)告中關(guān)聯(lián)測試用例的 URL 地址

TEST_CASE_LINK = 'https://github.com/qameta/allure-integrations/issues/ 8#issuecomment-268313637' @allure.testcase(TEST_CASE_LINK, '測試用例地址') def test_with_testcase_link(): pass

添加測試附件 前端自動(dòng)化測試時(shí),會(huì)需要在測試報(bào)告中附加錯(cuò)誤截圖或者視頻片段??梢允褂?Allure,在報(bào)告中添加 截圖,視頻等多媒體素材的功能。

在測試報(bào)告里附加圖片

allure.attach.file("image.png", attachment_type=allure.attachment_type.PNG)

image.png 圖片的相對或者絕對路徑 attachment_type=allure.attachment_type.PNG 圖片的類 型,這里使用的是 PNG 格式,也可以選擇其它的格式,例如 JPG,BMP 等

在測試報(bào)告里附加視頻

allure.attach.file("video.mp4", name="視頻", \ attachment_type=allure.attachment_type.MP4)

video.mp4 視頻的相對或者絕對路徑 name 展示在測試報(bào)告中的視頻名字,如果不為這個(gè)視頻命 名,系統(tǒng)會(huì)自動(dòng)為它生成一個(gè)名稱展示在報(bào)告中。 attachment_type=allure.attachment_type.MP4 視頻的類型,這里使用 MP4 格式。

運(yùn)行

第一步:在 pytest 執(zhí)行測試的時(shí)候,指定參數(shù) --alluredir 選項(xiàng)及結(jié)果數(shù)據(jù)保存的目錄,代碼如下:

pytest --alluredir=tmp/my_allure_results

tmp/my_allure_results 中保存了本次測試的結(jié)果數(shù)據(jù)。

第二步:打開報(bào)告 兩種方式 第一種:需要啟動(dòng) Allure 服務(wù),在 terminal 中輸入 allure serve tmp/my_allure_results ,代碼 如下:

allure serve tmp/my_allure_results

第二種:也可以使用 allure generate 生成 html 格式的測試結(jié)果報(bào)告,并使用 allure open 來 打開報(bào)告。

allure generate ./result/ -o ./report/ --clean

上面的命令將 ./result/ 目錄下的測試數(shù)據(jù)生成 HTML 測試報(bào)告到 ./report 路徑下,-–clean 選項(xiàng)目的 是先清空測試報(bào)告目錄,再生成新的測試報(bào)告,然后使用下面的命令打開報(bào)告。

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

上面的命令會(huì)啟動(dòng)一個(gè) Web 服務(wù),將已經(jīng)生成的 html 測試報(bào)告在默認(rèn)的瀏覽器中打開(地址: 127.0.0.1:8883),報(bào)告如下:

上面的測試報(bào)告首頁中展示了此次測試的測試用例數(shù)量、成功用例、失敗用例、跳過用例的比例、測試 環(huán)境、測試套、分類等。如果與 Jenkins 結(jié)合使用,TREND 區(qū)域還將顯示,歷次測試的通過情況。 點(diǎn)擊左下角的 En,可以切換語言,下圖為切換成中文展示。

首頁的左邊欄,還從不同的維度展示測試報(bào)告的其他信息。重點(diǎn)頁面介紹:

總覽:匯總結(jié)果展示

類別:按照用例的類別,分類展示

測試套:Allure 測試報(bào)告將每一個(gè)測試腳本,作為一個(gè)測試套

圖表:展示了此次測試結(jié)果的統(tǒng)計(jì)信息,比如測試用例執(zhí)行結(jié)果狀態(tài)、測試用例重要等級分布、測 試用例執(zhí)行時(shí)間分布等

功能:按照 FEATURES 和 STORIES 展示測試用例的執(zhí)行結(jié)果

測試用例詳情頁面,測試套頁面點(diǎn)擊任意一條測試用例,右側(cè)將展示詳細(xì)信息。圖中可以看到測試 步驟,每個(gè)步驟的執(zhí)行結(jié)果,還有測試用例的鏈接、圖片、視頻等內(nèi)容

前端自動(dòng)化測試實(shí)戰(zhàn)(百度搜索功能)

實(shí)際項(xiàng)目中,一旦用例報(bào)錯(cuò),希望將被測應(yīng)用運(yùn)行時(shí)的錯(cuò)誤狀態(tài)記錄下來。記錄這些狀態(tài)可以通過日 志、截圖、視頻等手段,并將這些測試結(jié)果展示在測試報(bào)告中,方便相關(guān)人員查看并定位問題。

以網(wǎng)頁版本的百度為例,百度首頁呈現(xiàn)的功能:搜索、新聞、網(wǎng)頁等,我們以百度網(wǎng)頁的搜索功能為 例,使用 Allure、pytest 結(jié)合 selenium 自動(dòng)化測試框架,完成一個(gè)搜索功能的測試(關(guān)于 Web 前端測 試中使用的 Selenium,參考 Web 自動(dòng)化測試章節(jié))。模擬百度搜索功能場景,需要?jiǎng)?chuàng)建兩個(gè)文件(數(shù) 據(jù)文件與測試用例文件)。 首先創(chuàng)建數(shù)據(jù)管理文件 data/data.yml ,代碼如下:

- allure - pytest - unittest

然后,創(chuàng)建用例文件名為 test_baidudemo.py ,代碼如下:

#!/usr/bin/env python # -*- coding: utf-8 -*- import allure import pytest import yaml from selenium import webdriver import time @allure.testcase("http://www.github.com") @allure.feature("百度搜索") @pytest.mark.parametrize('test_data1', yaml.safe_load(\ open("data/data.yml"))) def test_steps_demo(test_data1): with allure.step("打開百度網(wǎng)頁"): driver = webdriver.Chrome() driver.get("http://www.baidu.com") driver.maximize_window() with allure.step(f"輸入搜索詞:{test_data1}"): driver.find_element_by_id("kw").send_keys(test_data1) time.sleep(2) driver.find_element_by_id("su").click() time.sleep(2) with allure.step("保存圖片"): driver.save_screenshot("./result/b.png") allure.attach.file("./result/b.png", \ attachment_type=allure.attachment_type.PNG) with allure.step("關(guān)閉瀏覽器"): driver.quit()

代碼解析:

allure.testcase 用例標(biāo)識,給定用例的鏈接,可以與用例的管理地址關(guān)聯(lián)。 allure.feature 功 能模塊劃分,方便管理和運(yùn)行測試用例。 allure.step 用來添加測試步驟,在測試報(bào)告里面會(huì)展示出 來這個(gè)步驟說明。 allure.attach.file 測試報(bào)告中添加附件 pytest.mark.parametrize 用來參 數(shù)化測試用例。

執(zhí)行:

pytest test_baidudemo.py -s --alluredir=./result/ allure serve ./result/

測試結(jié)果圖:

測試報(bào)告中添加了分類,測試步驟,在每條測試用例中添加了測試用例的鏈接,截圖展示等內(nèi)容,方便 后續(xù)分析定位問題。


軟件測試 | 結(jié)合Allure生成測試報(bào)告的評論 (共 條)

分享到微博請遵守國家法律
读书| 扬中市| 常德市| 湟源县| 锦州市| 屏南县| 金溪县| 彭山县| 万盛区| 茂名市| 西乌珠穆沁旗| 吉水县| 永胜县| 枝江市| 南木林县| 门源| 聂拉木县| 建始县| 巴林右旗| 巢湖市| 会理县| 北京市| 达拉特旗| 丰宁| 临洮县| 安阳县| 东阳市| 定结县| 化州市| 昂仁县| 灵山县| 康马县| 任丘市| 左权县| 黎平县| 镇巴县| 陆丰市| 荣成市| 宽甸| 新宾| 凤冈县|