使用模拟器在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",        "john.smith@somewhere.tld",        "+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浏览器并运行该测试:

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

使用真实设备在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",        "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 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",        "john.smith@somewhere.tld",        "+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浏览器并运行该测试:

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

使用真实设备在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",        "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测试相关推荐

  1. python官网的sdk下载详细步骤-Python SDK

    下载地址 IMM Service 的 Python SDK 让开发人员可以非常方便地使用 Python 操作阿里云智能媒体管理服务. 已经开源到github. 操作步骤 为快速开始使用 IMM Ser ...

  2. Appium使用Python运行appium测试的实例

    Appium使用Python运行appium测试的实例 一.  Appium之介绍 https://testerhome.com/topics/8038 详情参考-- https://testerho ...

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

  4. android 访问web.py,Appium 测试 Android 时,python 用例调用 Webdriver.remote 后无回应

    大家好!遇到一个问题,希望大家能指点一下.我搭建好了 Appium 测试 Android 应用的测试环境,在运行 Python 编写的测试用例时,发现调用 Webdriver.remote 后,没有任 ...

  5. 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, ...

  6. python 智能识别 商品_阿里云货架商品识别与管理Python SDK使用示例-阿里云开发者社区...

    概述 货架商品识别与管理(Retail Image Recognition)是基于深度学习.图像检测.图像识别等技术,为新零售品牌商/经销商提供AI商品识别能力的阿里云产品:适用于货架商品识别.陈列识 ...

  7. aws python库_适用于Alexa的新AWS Python SDK入门指南

    aws python库 by Ralu Bolovan 由Ralu Bolovan 适用于Alexa的新AWS Python SDK入门指南 (A Beginner's guide to the ne ...

  8. 智能媒体管理(IMM) Python SDK DEMO

    SDK For Python 本文以Python为示例 安装 Python 环境 IMM Service 的Python SDK目前只支持 Python 2.6.x, 2.7.x. 请按以下步骤安装P ...

  9. Appium 测试APK

    介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及FirefoxOS平台测试.Appium使用WebDriver的json w ...

最新文章

  1. linux 命令访问url: curl http://www.baidu.com/index.html
  2. cocos2d-x游戏开发系列教程-坦克大战游戏之坦克的显示
  3. 互联网 4 大发明之二维码,你如何使用 Python 生成二维码?
  4. Mycat对于导入和扩容迁移性能压测
  5. 路遥工具箱全面迁移至 .NET 6.0 并发布 3.0 版本及迁移记录详解
  6. 【Makefile由浅入深完全学习记录7】Makefile中变量的高级主题下
  7. css 浮动效果 0302
  8. freecodecamp_freeCodeCamp论坛的未来
  9. Windows server2008 搭建ASP接口訪问连接oracle数据库全过程记录
  10. 在Golang中使用Protobuf
  11. 初学angularJS 个人总结 错误排除
  12. mysql 导入oracle 11_导入oracle11g的数据库到自己本地电脑
  13. KNN(一)--简单KNN原理及实现
  14. as常用固定搭配_常见固定搭配
  15. DXperience重编译汉化的方法
  16. unity3d烘焙教程 持续更新中【2020】
  17. c语言快速学习,怎么才能正确快速的学习c语言
  18. java三种功能加强模式
  19. NIPS2022各学校统计,去China是200+哦~
  20. win7如何启用计算机的无线功能,win7系统如何开启wifi热点|win7系统配置wifi热点的方法...

热门文章

  1. ZLMediakit独家特性介绍
  2. 003day (css文本、列表、背景相关属性,精灵图的制作)
  3. [计算机基础]整理计算机的数据计量单位
  4. 《赢在中国》精彩评语 2006年度
  5. Linux锁定账号,禁止登录系统设置
  6. Java泛型 T extends Serializable
  7. JAVA之利用集合操作学生数据
  8. 山外调试助手虚拟示波器串口通信协议
  9. 万亿停车产业,只是百度阿里腾讯华为、ETCP们数字化狂欢的“前菜”
  10. 学会享受努力奋斗的过程