<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>

          TestProject Python SDK入門

          共 3706字,需瀏覽 8分鐘

           ·

          2020-08-01 02:58

          使用TestProject Python SDK,您可以使用TestProject平臺的功能執(zhí)行Selenium和Appium測試這意味著您將受益于HTML和PDF中的自動測試報告,Selenium瀏覽器驅(qū)動程序的自動更新和配置,協(xié)作報告儀表板,以及更多其他功能


          安裝TestProject Python SDK

          TestProject Python SDK是100%免費和開源的,并以PyPI軟件包的形式提供。您可以使用pip安裝軟件包:

          pip install testproject-python-sdk

          這將安裝SDK及其依賴項。為了防止項目之間的版本沖突,建議使用虛擬環(huán)境來開發(fā)測試。

          像所有TestProject SDK一樣,Python SDK使用TestProject Agent執(zhí)行測試該代理負責(zé)瀏覽器驅(qū)動程序的安裝和配置以及發(fā)送TestProject平臺的報告。

          默認情況下,SDK將通過其默認地址http://localhost:8585與代理進行通信如果要在其他端口甚至是完全不同的計算機上運行代理,則可以通過將環(huán)境變量設(shè)置為正確的地址來配置TP_AGENT_URL正確的地址。

          配置您的開發(fā)者令牌

          要與代理進行通信,您需要開發(fā)者令牌。您可以通過從https://app.testproject.io/#/integrations/sdk獲取令牌,并使用令牌值設(shè)置環(huán)境變量來配置SDK以使用它TP_DEV_TOKEN

          創(chuàng)建您的第一個測試

          在安裝和設(shè)置SDK之后,是時候開始編寫我們的第一個測試?

          from src.testproject.sdk.drivers import webdriver src.testproject.sdk.drivers import webdriver
          def simple_test():def simple_test(): driver = webdriver.Chrome()= webdriver.Chrome()
          driver.get("https://example.testproject.io/web/").get("https://example.testproject.io/web/")
          driver.find_element_by_css_selector("#name").send_keys("John Smith").find_element_by_css_selector("#name").send_keys("John Smith") driver.find_element_by_css_selector("#password").send_keys("12345").find_element_by_css_selector("#password").send_keys("12345") driver.find_element_by_css_selector("#login").click().find_element_by_css_selector("#login").click()
          passed = driver.find_element_by_css_selector("#logout").is_displayed()= driver.find_element_by_css_selector("#logout").is_displayed()
          print("Test passed") if passed else print("Test failed")print("Test passed") if passed else print("Test failed")
          driver.quit().quit()

          if __name__ == "__main__":if __name__ == "__main__": simple_test()()

          如果您已經(jīng)熟悉用Python開發(fā)基于Selenium的測試,那么這些代碼應(yīng)該不難理解。讓我們運行它,看看會發(fā)生什么!但首先,請確保您的TestProject代理正在運行。?

          運行測試

          假設(shè)我們剛才看到的示例測試駐留在名為的Python模塊中由于使用使該模塊可運行,因此我們只需執(zhí)行以下命令即可運行此測試:web_test.pyif?__name__?==?__main__

          python?web_test.py

          這將從TestProject代理請求一個Chrome驅(qū)動程序?qū)嵗\行測試并將結(jié)果報告給TestProject平臺。如果您正確配置了開發(fā)人員令牌和代理地址,您將在控制臺中看到以下輸出,表明我們的測試已成功執(zhí)行:

          <...>Test passed2020-07-13 09:30:03,884 INFO Connection to Agent at http://127.0.0.1:8585 closed successfully
          Process finished with exit code 0

          讓我們看一下生成的報告。

          檢查測試報告

          TestProject代理將自動將您的測試結(jié)果報告發(fā)送給TestProject平臺。如果您轉(zhuǎn)到https://app.testproject.io/#/reports,則會看到一個名為“?未命名項目?”的項目

          如果單擊此按鈕,則將看到與此項目關(guān)聯(lián)的測試運行的概述。這將包含一個名為“?web_test?”的作業(yè)(該作業(yè)名稱是自動從Python模塊名稱派生的)和一個通過的測試名為“ simple_test?”(測試名稱是從測試方法名稱中自動派生的):

          如您所見,該測試被標記為已通過,并且瀏覽器驅(qū)動程序?qū)嵗龍?zhí)行的所有單個操作都直接報告給右側(cè),無需額外配置!

          TestProject Python SDK為您提供了多種自定義報告的選項我們將在后續(xù)文章中詳細介紹這些內(nèi)容(即將發(fā)布!)。不過,值得一提的是,輸入密碼字段的值會自動刪除,如您在報告的第5步中所見。如果需要,也可以關(guān)閉此功能。您將很快在有關(guān)報告的文章中看到。?

          支持的單元測試框架

          當前,TestProject Python SDK支持unittestpytest單元測試框架。如果您已經(jīng)有基于unittest?pytest?的Selenium測試,將它們轉(zhuǎn)換為TestProject驅(qū)動的測試非常容易。

          讓我們看一下這個基于pytest?的示例。順便說一下,對于unittest?該過程是完全相同的

          from selenium import webdriverfrom tests.pageobjects.web import LoginPage, ProfilePagedef test_example_using_chrome():    driver = webdriver.Chrome()    LoginPage(driver).open().login_as("John Smith", "12345")    assert ProfilePage(driver).greetings_are_displayed() is True    driver.quit()

          假設(shè)您已將TestProject SDK添加為項目的依賴項,并且已按照本文前面的說明配置了代理和開發(fā)人員令牌,則只需更改此import語句即可:

          from selenium import webdriver#?from src.testproject.sdk.drivers import webdriver

          假設(shè)該測試是example_test名為的軟件包中模塊的一部分tests如果使用以下命令運行此測試:

          pytest tests\example_test.py

          并再次轉(zhuǎn)到TestProject報告頁面,您將看到如下所示的報告:

          SDK?分別從測試方法名稱和程序包名稱自動導(dǎo)出了測試名稱('?test_example_using_chrome')和作業(yè)名稱('?example_test?'?)。另外,如果您使用的是pytest?unittest?,SDK還將根據(jù)測試模塊所在的軟件包自動推斷項目名稱。如果您愿意,也可以自定義項目,作業(yè)和測試名稱。您很快就會在報告文章中看到如何做到這一點

          推薦閱讀


          瀏覽 81
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  综合久色aⅴ | 日日操日日操 | 影音先锋色av | 久久99精品久久久久久不卡l中文无码精品 | 护士AV在线 |