使用TestProject Python SDK創(chuàng)建移動(dòng)Appium測(cè)試
使用模擬器在Android上運(yùn)行移動(dòng)網(wǎng)絡(luò)測(cè)試
我將假設(shè)您已經(jīng)下載了Python SDK,已經(jīng)配置了代理和開(kāi)發(fā)人員令牌,并且代理正在運(yùn)行。如果沒(méi)有,您可以在這篇文章中閱讀如何做。另外,我將假設(shè)您已經(jīng)創(chuàng)建并啟動(dòng)了運(yùn)行Android的模擬器。
讓我們以這個(gè)測(cè)試為例:
import pytestfrom appium import webdriverfrom tests.pageobjects.web import LoginPage, ProfilePagedef driver():desired_capabilities = {"udid": "emulator-5554","browserName": "chrome","platformName": "Android",}driver = webdriver.Remote(desired_capabilities=desired_capabilities)yield driverdriver.quit()def test_example_on_chrome_on_android(driver):LoginPage(driver).open().login_as("John Smith", "12345")profile_page = ProfilePage(driver)profile_page.update_profile("United States","Street name and number","[email protected]","+1 555 555 55",)assert profile_page.saved_message_is_displayed() is True
如您所定義的desired_capabilities,您可以在名稱(chēng)為的模擬器上運(yùn)行此測(cè)試,該模擬器運(yùn)行Android。指定瀏覽器名稱(chēng)(即)表示我們正在運(yùn)行移動(dòng)Web測(cè)試。emulator-5554chrome
要將這個(gè)Appium測(cè)試變成一個(gè)基于TestProject的測(cè)試,類(lèi)似于基于Selenium的測(cè)試,您需要做的就是更改此import語(yǔ)句:
from appium import webdriver# 到from src.testproject.sdk.drivers import webdriver
另外:您不再需要運(yùn)行自己的Appium服務(wù)器,因?yàn)門(mén)estProject Agent可以為您充當(dāng)Appium服務(wù)器!
運(yùn)行此測(cè)試時(shí),它將在您的Android模擬器上啟動(dòng)Chrome瀏覽器并運(yùn)行該測(cè)試:

測(cè)試完成執(zhí)行后,SDK將報(bào)告發(fā)送到代理,代理將依次在TestProject平臺(tái)上創(chuàng)建新的測(cè)試報(bào)告:

使用真實(shí)設(shè)備在iOS上運(yùn)行本機(jī)應(yīng)用測(cè)試
如您先前所讀,TestProject Python SDK同時(shí)支持Android和iOS。讓我們看一個(gè)示例測(cè)試,該示例測(cè)試在真實(shí)iPhone上運(yùn)行的本機(jī)iOS應(yīng)用程序:
import pytestfrom src.testproject.sdk.drivers import webdriverfrom tests.pageobjects.android import LoginPage, ProfilePagedef driver():desired_capabilities = {"udid": "" ,"deviceName": "iPhone van Bas","browserName": "","platformName": "iOS","bundleId": "io.testproject.Demo",}driver = webdriver.Remote(desired_capabilities=desired_capabilities)yield driverdriver.close_app()driver.quit()def test_example_on_native_ios_app(driver):LoginPage(driver).login_as("John Smith", "12345")profile_page = ProfilePage(driver)profile_page.update_profile("United States","Street name and number","[email protected]","+1 555 555 55",)assert profile_page.saved_message_is_displayed() is True
沒(méi)有指定瀏覽器desired_capabilities,這表示此測(cè)試是針對(duì)本機(jī)應(yīng)用程序運(yùn)行的。以下是在測(cè)試執(zhí)行過(guò)程中使用的實(shí)際iOS設(shè)備的屏幕截圖:

fact?有趣的事實(shí):此處使用的iOS設(shè)備已連接到Windows計(jì)算機(jī)!通過(guò)TestProject,您可以在iOS設(shè)備上運(yùn)行測(cè)試,而無(wú)需運(yùn)行macOS或XCode,也無(wú)需自己運(yùn)行Appium服務(wù)器。
正如我們?cè)诎l(fā)送到TestProject的報(bào)告中看到的那樣,該測(cè)試也通過(guò)了:

如您所見(jiàn),使用TestProject Python SDK(或 ??Java或C#?SDK),您可以輕松地將現(xiàn)有基于Appium的測(cè)試轉(zhuǎn)換為T(mén)estProject驅(qū)動(dòng)的測(cè)試,無(wú)論它們是用于Android還是iOS,都可以使用仿真器或真實(shí)設(shè)備,在macOS,Linux和Windows上測(cè)試移動(dòng)Web或本機(jī)應(yīng)用程序。

