欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用TestProject Python SDK创建移动Appium测试

程序员文章站 2024-03-24 09:28:52
...

使用模拟器在Android上运行移动网络测试

我将假设您已经下载了Python SDK,已经配置了代理和开发人员令牌,并且代理正在运行。如果没有,您可以在这篇文章中阅读如何做。另外,我将假设您已经创建并启动了运行Android的模拟器。

让我们以这个测试为例:

import pytestfrom appium import webdriverfrom tests.pageobjects.web import LoginPage, ProfilePage@pytest.fixturedef driver():    desired_capabilities = {        "udid": "emulator-5554",        "browserName": "chrome",        "platformName": "Android",    }    driver = webdriver.Remote(desired_capabilities=desired_capabilities)    yield driver    driver.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",        "aaa@qq.com",        "+1 555 555 55",    )    assert profile_page.saved_message_is_displayed() is True

如您所定义的desired_capabilities,您可以在名称为的模拟器上运行此测试,该模拟器运行Android。指定浏览器名称(即)表示我们正在运行移动Web测试。emulator-5554chrome

要将这个Appium测试变成一个基于TestProject的测试,类似于基于Selenium的测试,您需要做的就是更改此import语句:

 

from appium import webdriver# 到from src.testproject.sdk.drivers import webdriver

另外:您不再需要运行自己的Appium服务器,因为TestProject Agent可以为您充当Appium服务器!

运行此测试时,它将在您的Android模拟器上启动Chrome浏览器并运行该测试:

使用TestProject Python SDK创建移动Appium测试

测试完成执行后,SDK将报告发送到代理,代理将依次在TestProject平台上创建新的测试报告:

使用TestProject Python SDK创建移动Appium测试

使用真实设备在iOS上运行本机应用测试

如您先前所读,TestProject Python SDK同时支持Android和iOS。让我们看一个示例测试,该示例测试在真实iPhone上运行的本机iOS应用程序:

import pytestfrom src.testproject.sdk.drivers import webdriverfrom tests.pageobjects.android import LoginPage, ProfilePage@pytest.fixturedef driver():    desired_capabilities = {        "udid": "<my_device_udid_here>",        "deviceName": "iPhone van Bas",        "browserName": "",        "platformName": "iOS",        "bundleId": "io.testproject.Demo",    }    driver = webdriver.Remote(desired_capabilities=desired_capabilities)    yield driver    driver.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",        "aaa@qq.com",        "+1 555 555 55",    )    assert profile_page.saved_message_is_displayed() is True

 

没有指定浏览器desired_capabilities,这表示此测试是针对本机应用程序运行的。以下是在测试执行过程中使用的实际iOS设备的屏幕截图:

使用TestProject Python SDK创建移动Appium测试

fact 有趣的事实:此处使用的iOS设备已连接到Windows计算机!通过TestProject,您可以在iOS设备上运行测试,而无需运行macOS或XCode,也无需自己运行Appium服务器。

正如我们在发送到TestProject的报告中看到的那样,该测试也通过了:

使用模拟器在Android上运行移动网络测试

我将假设您已经下载了Python SDK,已经配置了代理和开发人员令牌,并且代理正在运行。如果没有,您可以在这篇文章中阅读如何做。另外,我将假设您已经创建并启动了运行Android的模拟器。

让我们以这个测试为例:

import pytestfrom appium import webdriverfrom tests.pageobjects.web import LoginPage, ProfilePage@pytest.fixturedef driver():    desired_capabilities = {        "udid": "emulator-5554",        "browserName": "chrome",        "platformName": "Android",    }    driver = webdriver.Remote(desired_capabilities=desired_capabilities)    yield driver    driver.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",        "aaa@qq.com",        "+1 555 555 55",    )    assert profile_page.saved_message_is_displayed() is True

如您所定义的desired_capabilities,您可以在名称为的模拟器上运行此测试,该模拟器运行Android。指定浏览器名称(即)表示我们正在运行移动Web测试。emulator-5554chrome

要将这个Appium测试变成一个基于TestProject的测试,类似于基于Selenium的测试,您需要做的就是更改此import语句:

from appium import webdriver# 到from src.testproject.sdk.drivers import webdriver

另外:您不再需要运行自己的Appium服务器,因为TestProject Agent可以为您充当Appium服务器!

运行此测试时,它将在您的Android模拟器上启动Chrome浏览器并运行该测试:

使用TestProject Python SDK创建移动Appium测试

测试完成执行后,SDK将报告发送到代理,代理将依次在TestProject平台上创建新的测试报告:

使用TestProject Python SDK创建移动Appium测试

使用真实设备在iOS上运行本机应用测试

如您先前所读,TestProject Python SDK同时支持Android和iOS。让我们看一个示例测试,该示例测试在真实iPhone上运行的本机iOS应用程序:​​​​​​​

import pytestfrom src.testproject.sdk.drivers import webdriverfrom tests.pageobjects.android import LoginPage, ProfilePage@pytest.fixturedef driver():    desired_capabilities = {        "udid": "<my_device_udid_here>",        "deviceName": "iPhone van Bas",        "browserName": "",        "platformName": "iOS",        "bundleId": "io.testproject.Demo",    }    driver = webdriver.Remote(desired_capabilities=desired_capabilities)    yield driver    driver.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",        "aaa@qq.com",        "+1 555 555 55",    )    assert profile_page.saved_message_is_displayed() is True

 

没有指定浏览器desired_capabilities,这表示此测试是针对本机应用程序运行的。以下是在测试执行过程中使用的实际iOS设备的屏幕截图:

使用TestProject Python SDK创建移动Appium测试

fact 有趣的事实:此处使用的iOS设备已连接到Windows计算机!通过TestProject,您可以在iOS设备上运行测试,而无需运行macOS或XCode,也无需自己运行Appium服务器。

正如我们在发送到TestProject的报告中看到的那样,该测试也通过了:

使用TestProject Python SDK创建移动Appium测试

如您所见,使用TestProject Python SDK(或   Java或C# SDK),您可以轻松地将现有基于Appium的测试转换为TestProject驱动的测试,无论它们是用于Android还是iOS,都可以使用仿真器或真实设备,在macOS,Linux和Windows上测试移动Web或本机应用程序。

 

使用TestProject Python SDK创建移动Appium测试

TestProject Python SDK入门

使用Selenium WebDriver,Python和Chrome编写您的第一个Web测试

使用Python和Chrome安装Selenium WebDriver

使用Pytest创建一个Python测试自动化项目

K6性能测试工具的使用入门

不测的秘密 精准测试之路  ~ 文末福利

Selenium Firefox驱动程序:使用Firefox浏览器自动进行测试

                    使用TestProject Python SDK创建移动Appium测试

 

 

相关标签: APP自动化