1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Selenium和Appium Python自動化測試生成HTML測試報(bào)告

        共 4649字,需瀏覽 10分鐘

         ·

        2020-08-01 02:58


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

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

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

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

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

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

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

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

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

          。quit()

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

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

        所有這些選項(xiàng)都是可配置的,因?yàn)槟芸炀蜁吹健?/span>

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

        如果要覆蓋TestProject報(bào)表中顯示的自動推斷的項(xiàng)目和作業(yè)名稱,可以采用兩種方法。第一種方法是將自定義項(xiàng)目和作業(yè)名稱作為參數(shù)傳遞給驅(qū)動程序構(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/")

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

        指定自定義測試名稱

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

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


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

        手動測試和步驟報(bào)告

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

        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/")

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

        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)告的測試",?passed=True)

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

        此外,您還可以手動報(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="中間測試步驟", message="另一條消息", passed=False, screenshot=True)????driver.report().test(name="手工報(bào)告的測試",?passed=True)

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

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

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

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

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

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

        在此文本字段中鍵入的文本在報(bà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)告。

        如果您不想自動報(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/")  # 不會報(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)    # 這里不會有任何報(bào)道    driver.report().disable_reports(disabled=False)

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

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

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



        推薦閱讀



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

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            色色色色色色色网站 | 国产中老年妇女精品 | 成人日批视频 | 天天撸成人AV一级电影 | 一级坐爱片 | 国产一级片播放 | 国产精品久久久久永久免费观看 | 日嫩逼 | a天堂中文在线 | 好大好长好紧爽古代 |