使用TestProject Python SDK创建移动Appium测试
使用模拟器在Android上运行移动网络测试
我将假设您已经下载了Python SDK,已经配置了代理和开发人员令牌,并且代理正在运行。如果没有,您可以在这篇文章中阅读如何做。另外,我将假设您已经创建并启动了运行Android的模拟器。
让我们以这个测试为例:
import pytest
from appium import webdriver
from tests.pageobjects.web import LoginPage, ProfilePage
@pytest.fixture
def 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",
"john.smith@somewhere.tld",
"+1 555 555 55",
)
assert profile_page.saved_message_is_displayed() is True
如您所定义的desired_capabilities
,您可以在名称为的模拟器上运行此测试,该模拟器运行Android。指定浏览器名称(即)表示我们正在运行移动Web测试。emulator-5554
chrome
要将这个Appium测试变成一个基于TestProject的测试,类似于基于Selenium的测试,您需要做的就是更改此import语句:
from appium import webdriver
# 到
from src.testproject.sdk.drivers import webdriver
另外:您不再需要运行自己的Appium服务器,因为TestProject Agent可以为您充当Appium服务器!
运行此测试时,它将在您的Android模拟器上启动Chrome浏览器并运行该测试:
测试完成执行后,SDK将报告发送到代理,代理将依次在TestProject平台上创建新的测试报告:
使用真实设备在iOS上运行本机应用测试
如您先前所读,TestProject Python SDK同时支持Android和iOS。让我们看一个示例测试,该示例测试在真实iPhone上运行的本机iOS应用程序:
import pytest
from src.testproject.sdk.drivers import webdriver
from tests.pageobjects.android import LoginPage, ProfilePage
@pytest.fixture
def 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",
"john.smith@somewhere.tld",
"+1 555 555 55",
)
assert profile_page.saved_message_is_displayed() is True
没有指定浏览器desired_capabilities
,这表示此测试是针对本机应用程序运行的。以下是在测试执行过程中使用的实际iOS设备的屏幕截图:
fact 有趣的事实:此处使用的iOS设备已连接到Windows计算机!通过TestProject,您可以在iOS设备上运行测试,而无需运行macOS或XCode,也无需自己运行Appium服务器。
正如我们在发送到TestProject的报告中看到的那样,该测试也通过了:
使用模拟器在Android上运行移动网络测试
我将假设您已经下载了Python SDK,已经配置了代理和开发人员令牌,并且代理正在运行。如果没有,您可以在这篇文章中阅读如何做。另外,我将假设您已经创建并启动了运行Android的模拟器。
让我们以这个测试为例:
import pytest
from appium import webdriver
from tests.pageobjects.web import LoginPage, ProfilePage
@pytest.fixture
def 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",
"john.smith@somewhere.tld",
"+1 555 555 55",
)
assert profile_page.saved_message_is_displayed() is True
如您所定义的desired_capabilities
,您可以在名称为的模拟器上运行此测试,该模拟器运行Android。指定浏览器名称(即)表示我们正在运行移动Web测试。emulator-5554
chrome
要将这个Appium测试变成一个基于TestProject的测试,类似于基于Selenium的测试,您需要做的就是更改此import语句:
from appium import webdriver
# 到
from src.testproject.sdk.drivers import webdriver
另外:您不再需要运行自己的Appium服务器,因为TestProject Agent可以为您充当Appium服务器!
运行此测试时,它将在您的Android模拟器上启动Chrome浏览器并运行该测试:
测试完成执行后,SDK将报告发送到代理,代理将依次在TestProject平台上创建新的测试报告:
使用真实设备在iOS上运行本机应用测试
如您先前所读,TestProject Python SDK同时支持Android和iOS。让我们看一个示例测试,该示例测试在真实iPhone上运行的本机iOS应用程序:
import pytest
from src.testproject.sdk.drivers import webdriver
from tests.pageobjects.android import LoginPage, ProfilePage
@pytest.fixture
def 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",
"john.smith@somewhere.tld",
"+1 555 555 55",
)
assert profile_page.saved_message_is_displayed() is True
没有指定浏览器desired_capabilities
,这表示此测试是针对本机应用程序运行的。以下是在测试执行过程中使用的实际iOS设备的屏幕截图:
fact 有趣的事实:此处使用的iOS设备已连接到Windows计算机!通过TestProject,您可以在iOS设备上运行测试,而无需运行macOS或XCode,也无需自己运行Appium服务器。
正如我们在发送到TestProject的报告中看到的那样,该测试也通过了:
如您所见,使用TestProject Python SDK(或 Java或C# SDK),您可以轻松地将现有基于Appium的测试转换为TestProject驱动的测试,无论它们是用于Android还是iOS,都可以使用仿真器或真实设备,在macOS,Linux和Windows上测试移动Web或本机应用程序。
TestProject Python SDK入门
使用Selenium WebDriver,Python和Chrome编写您的第一个Web测试
使用Python和Chrome安装Selenium WebDriver
使用Pytest创建一个Python测试自动化项目
K6性能测试工具的使用入门
不测的秘密 精准测试之路 ~ 文末福利
Selenium Firefox驱动程序:使用Firefox浏览器自动进行测试
使用TestProject Python SDK创建移动Appium测试相关推荐
- python官网的sdk下载详细步骤-Python SDK
下载地址 IMM Service 的 Python SDK 让开发人员可以非常方便地使用 Python 操作阿里云智能媒体管理服务. 已经开源到github. 操作步骤 为快速开始使用 IMM Ser ...
- Appium使用Python运行appium测试的实例
Appium使用Python运行appium测试的实例 一. Appium之介绍 https://testerhome.com/topics/8038 详情参考-- https://testerho ...
- cannot set up a python sdk 3.8_anaconda+pycharm环境下创建新的虚拟环境报错Cannot set up a py...
anaconda+pycharm环境下创建新的虚拟环境报错Cannot set up a py anaconda+pycharm环境下创建新的虚拟环境报错Cannot set up a python ...
- android 访问web.py,Appium 测试 Android 时,python 用例调用 Webdriver.remote 后无回应
大家好!遇到一个问题,希望大家能指点一下.我搭建好了 Appium 测试 Android 应用的测试环境,在运行 Python 编写的测试用例时,发现调用 Webdriver.remote 后,没有任 ...
- anaconda+pycharm环境下创建新的虚拟环境报错Cannot set up a python SDK at Python 3.6 (envs)The SDK seems invalid.
anaconda+pycharm环境下创建新的虚拟环境报错 项目场景: 问题描述: 原因分析: 解决方案: 项目场景: anaconda自带的python版本是3.8.3,不支持tensorflow, ...
- python 智能识别 商品_阿里云货架商品识别与管理Python SDK使用示例-阿里云开发者社区...
概述 货架商品识别与管理(Retail Image Recognition)是基于深度学习.图像检测.图像识别等技术,为新零售品牌商/经销商提供AI商品识别能力的阿里云产品:适用于货架商品识别.陈列识 ...
- aws python库_适用于Alexa的新AWS Python SDK入门指南
aws python库 by Ralu Bolovan 由Ralu Bolovan 适用于Alexa的新AWS Python SDK入门指南 (A Beginner's guide to the ne ...
- 智能媒体管理(IMM) Python SDK DEMO
SDK For Python 本文以Python为示例 安装 Python 环境 IMM Service 的Python SDK目前只支持 Python 2.6.x, 2.7.x. 请按以下步骤安装P ...
- Appium 测试APK
介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及FirefoxOS平台测试.Appium使用WebDriver的json w ...
最新文章
- linux 命令访问url: curl http://www.baidu.com/index.html
- cocos2d-x游戏开发系列教程-坦克大战游戏之坦克的显示
- 互联网 4 大发明之二维码,你如何使用 Python 生成二维码?
- Mycat对于导入和扩容迁移性能压测
- 路遥工具箱全面迁移至 .NET 6.0 并发布 3.0 版本及迁移记录详解
- 【Makefile由浅入深完全学习记录7】Makefile中变量的高级主题下
- css 浮动效果 0302
- freecodecamp_freeCodeCamp论坛的未来
- Windows server2008 搭建ASP接口訪问连接oracle数据库全过程记录
- 在Golang中使用Protobuf
- 初学angularJS 个人总结 错误排除
- mysql 导入oracle 11_导入oracle11g的数据库到自己本地电脑
- KNN(一)--简单KNN原理及实现
- as常用固定搭配_常见固定搭配
- DXperience重编译汉化的方法
- unity3d烘焙教程 持续更新中【2020】
- c语言快速学习,怎么才能正确快速的学习c语言
- java三种功能加强模式
- NIPS2022各学校统计,去China是200+哦~
- win7如何启用计算机的无线功能,win7系统如何开启wifi热点|win7系统配置wifi热点的方法...