<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Selenium和Appium Python自動(dòng)化測(cè)試生成HTML測(cè)試報(bào)告

          共 4649字,需瀏覽 10分鐘

           ·

          2020-08-01 02:58


          正如您在全新的TestProject Python SDK(第1部分第2部分)上的先前文章中可能已經(jīng)讀到的那樣,該SDK將生成美觀的HTML測(cè)試報(bào)告,并自動(dòng)為您將它們發(fā)布到TestProject平臺(tái)上,無(wú)需其他配置(您也可以將其下載為PDF文件)。但是您知道報(bào)告也是高度可配置的嗎?

          測(cè)試報(bào)告在任何測(cè)試自動(dòng)化框架中都是至關(guān)重要的,而且我們都知道,即使專家也需要付出多大的努力才能生成測(cè)試自動(dòng)化報(bào)告,更不用說我們是否也想擁有自定義自由……在此,有許多定制的解決方案可供選擇。行業(yè)來(lái)幫助我們克服這一問題,例如:JUnit,Jenkins插件,ELK,Grafana,甚至開發(fā)定制的Web儀表板。

          但是,沒有現(xiàn)成的測(cè)試報(bào)告解決方案。輸入TestProject,它為用戶提供了一個(gè)完整的專用報(bào)告環(huán)境,該環(huán)境免費(fèi)支持Selenium,Appium和Python。TestProject自動(dòng)為您創(chuàng)建HTML和PDF報(bào)告(開箱即用,無(wú)需其他配置)。

          您所需要做的就是注冊(cè)一個(gè)免費(fèi)的TestProject帳戶,下載并安裝TestProject代理(該代理已經(jīng)包含了您的所有Selenium / Appium驅(qū)動(dòng)程序),使用pip(pip install testproject-python-sdk安裝TestProject Python SDK?并配置您的開發(fā)人員令牌。

          使用TestProject,您可以免費(fèi)訪問可完全自定義的廣泛報(bào)告功能(如下文所述),包括:云中的詳細(xì)分析儀表板,屏幕截圖,通過/失敗條件,自定義錯(cuò)誤消息,下載報(bào)告的能力轉(zhuǎn)換為PDF,可以輕松地與隊(duì)友共享報(bào)告,RESTful API訪問權(quán)限以及100%的Selenium和Appium兼容性(不僅與Python兼容,而且與Java和C#共享!)。

          打開即用的HTML測(cè)試報(bào)告

          如果您保留所有設(shè)置不變,則SDK將:

          • 生成帶有自動(dòng)推斷的項(xiàng)目,作業(yè)和測(cè)試名稱的報(bào)告

          • 在驅(qū)動(dòng)程序上調(diào)用命令或執(zhí)行的測(cè)試方法的名稱更改時(shí),自動(dòng)報(bào)告新測(cè)

            quit()

          • 包含所有已執(zhí)行的WebDriver命令及其結(jié)果(通過或失敗)

          • 在敏感(密碼)文本字段元素中鍵入的修訂值。

          所有這些選項(xiàng)都是可配置的,因?yàn)槟芸炀蜁?huì)看到。

          指定自定義項(xiàng)目和職位名稱

          如果要覆蓋TestProject報(bào)表中顯示的自動(dòng)推斷的項(xiàng)目和作業(yè)名稱,可以采用兩種方法。第一種方法是將自定義項(xiàng)目和作業(yè)名稱作為參數(shù)傳遞給驅(qū)動(dòng)程序構(gòu)造函數(shù):

          from src.testproject.sdk.drivers import webdriverdef test_custom_project_and_job_names():    driver = webdriver.Chrome(projectname="My project", jobname="Reporting job")    driver.get("https://example.testproject.io/web/")

          第二種方法是在@report?裝飾器中指定它們

          from src.testproject.decorator import reportfrom src.testproject.sdk.drivers import webdriver@report(project="My project", job="Reporting job")def test_project_and_job_names_in_decorator():    driver = webdriver.Chrome()    driver.get("https://example.testproject.io/web/")

          這兩個(gè)選項(xiàng)都將導(dǎo)致指定的項(xiàng)目和作業(yè)名稱顯示在TestProject中:

          指定自定義測(cè)試名稱

          如果您想要在報(bào)告中使用自定義測(cè)試名稱(即,不是測(cè)試方法的名稱),則也可以使用@report裝飾器:

          from src.testproject.decorator import reportfrom src.testproject.sdk.drivers import webdriver@report(test="我的自定義測(cè)試名稱")def test_name_in_decorator():    driver = webdriver.Chrome()    driver.get("https://example.testproject.io/web/")


          當(dāng)這樣指定時(shí),將使用自定義測(cè)試名稱,而不是自動(dòng)推斷的名稱:

          手動(dòng)測(cè)試和步驟報(bào)告

          默認(rèn)情況下,當(dāng)在驅(qū)動(dòng)程序上調(diào)用quit()命令或執(zhí)行的測(cè)試方法的名稱發(fā)生更改時(shí),SDK會(huì)自動(dòng)報(bào)告新的測(cè)試可以禁用此行為:

          from src.testproject.sdk.drivers import webdriverdef test_disable_automatic_test_reporting():    driver = webdriver.Chrome()    driver.report().disable_auto_test_reports(disabled=True)    driver.get("https://example.testproject.io/web/")

          您可以改為手動(dòng)報(bào)告測(cè)試,如下所示:

          from src.testproject.sdk.drivers import webdriverdef test_report_a_test_manually():    driver = webdriver.Chrome()    driver.report().disable_auto_test_reports(disabled=True)    driver.get("https://example.testproject.io/web/")????driver.report().test(name="手工報(bào)告的測(cè)試",?passed=True)

          這將導(dǎo)致在TestProject平臺(tái)上報(bào)告以下測(cè)試:

          此外,您還可以手動(dòng)報(bào)告中間步驟,甚至在執(zhí)行操作時(shí)添加屏幕截圖:

          from src.testproject.sdk.drivers import webdriverdef test_report_a_step_manually():    driver = webdriver.Chrome()    driver.report().disable_auto_test_reports(disabled=True)    driver.get("https://example.testproject.io/web/")    driver.report().step(description="中間測(cè)試步驟", message="另一條消息", passed=False, screenshot=True)????driver.report().test(name="手工報(bào)告的測(cè)試",?passed=True)

          這將導(dǎo)致此步驟包含在測(cè)試報(bào)告中:

          如您所見,該步驟包括一個(gè)屏幕截圖(單擊時(shí)將放大)。還要注意,即使我們將手動(dòng)報(bào)告的測(cè)試設(shè)置為通過了我們的代碼,由于該測(cè)試步驟中失敗的步驟,它仍被標(biāo)記為失敗。

          禁用編輯進(jìn)入安全文本字段的文本

          默認(rèn)情況下,SDK會(huì)編輯被鍵入到包含敏感數(shù)據(jù)的文本字段中的文本,即:

          • type具有值(所有瀏覽器和操作系統(tǒng)類型)屬性的字段password

          • 類型的字段XCUIElementTypeSecureTextField(僅在具有XCUITest的iOS上)。

          在此文本字段中鍵入的文本在報(bào)告中被星號(hào)替換:

          如果您愿意,可以將其禁用:

          def test_disable_command_redaction():    driver = webdriver.Chrome()    driver.report().disable_auto_test_reports(disabled=True)    driver.get("https://example.testproject.io/web/")    driver.report().disable_redaction(disabled=True)    driver.find_element_by_css_selector("#name").send_keys("Software test")    driver.find_element_by_css_selector("#password").send_keys("12345")

          導(dǎo)致以純文本形式報(bào)告密碼值,而不是:

          禁用報(bào)告

          最后,您還可以在不同程度上禁用各種報(bào)告。

          如果您不想自動(dòng)報(bào)告WebDriver命令,則可以指定如下:

          def test_disable_driver_command_reporting():    driver = webdriver.Chrome()    driver.report().disable_command_reports(disabled=True)    driver.get("https://example.testproject.io/web/")  # 不會(huì)報(bào)告此命令    driver.report().disable_command_reports(disabled=False)    driver.find_element_by_css_selector("#name").send_keys("Software test")  # 將報(bào)告此命令

          如果要暫時(shí)禁用所有報(bào)告,也可以執(zhí)行以下操作:

          def test_disable_all_reporting_temporarily():    driver = webdriver.Chrome()    driver.report().disable_reports(disabled=True)    # 這里不會(huì)有任何報(bào)道    driver.report().disable_reports(disabled=False)

          如果要永久禁用特定驅(qū)動(dòng)程序會(huì)話的報(bào)告,也可以執(zhí)行以下操作:

          def test_project_and_job_names_in_decorator():    driver = webdriver.Chrome(disable_reports=True)

          請(qǐng)注意,在最后一種情況下,您無(wú)法在驅(qū)動(dòng)程序會(huì)話期間重新啟用報(bào)告!



          推薦閱讀



          瀏覽 61
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色成人网站在线观看免费 | 国产黄色电影免费在线观看 | 日本一区二区视频在线 | 日本在线看 | 乱伦不卡 |