当前位置: 首页 > news >正文

【UI自动化测试】5_APP自动化测试 _Appium入门示例(重要)

文章目录

  • 一、启动APP基础脚本
    • 1.1 应用场景
    • 1.2 需求
    • 1.3 参数详解
  • 二、出现错误情况
    • 2.1 使用小米雷电模拟器,出现以下情况:
    • 2.2 原因和解决办法

一、启动APP基础脚本

1.1 应用场景

在做app自动化的时候,我们肯定是针对某个产品、某个软件进行测试,那么我们一定是先让模拟器或真机帮我们打开这款软件才可以。所以接下来要学的就是如何打开某个应用程序。

1.2 需求

打开模拟器中的 《设置》 应用程序,步骤 如下 :

  1. 打开手机模拟器(前提:电脑连接模拟器,连接通畅,可以使用命令查看)
  2. 打开appium工具 (记得启动一下服务)
  3. 获取要测试APP的包名/界面名
# ①导包importtimefromappiumimportwebdriver# ②配置启动参数desired_caps=dict()desired_caps['platformName']='Android'desired_caps['platformVersion']='5.1'desired_caps['deviceName']='1'desired_caps['appPackage']='com.android.settings'desired_caps['appActivity']='com.android.settings.Settings'desired_caps['unicodeKeyboard']=True# 使用自带输入法,输入中文时填Truedesired_caps['resetKeyboard']=True# 执行完程序恢复原来输入法desired_caps['noReset']=True# 不重置App状态。【保存第一次打开APP的状态】# ③ 创建APP驱动对象driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)# ④ 业务操作time.sleep(5)# ⑤关闭APPdriver.quit()

1.3 参数详解

appium的启动实际上是在本机使用了4723端口开启了一个服务:

  1. 我们写的 python 代码会访问本机的 appium 服务器,并获取 driver 对象。

  2. appium 会将我们的 driver 对象调用的方法转化成 post 请求,提交给appium服务器。

  3. appium 通过接收到的 post 请求发送给手机,再由手机进行执行。

# ①导包importtimefromappiumimportwebdriver# ②配置启动参数desired_caps={}# # 需要连接的手机的平台(Android不限制大小写),不能乱写; 如果测试苹果,填写IOSdesired_caps['platformName']='Android'# 平台的版本,手机的版本号 (比如5.2.1的版本可以填写5.2.1或5.2或5,以此类推)desired_caps['platformVersion']='5.1'# 设备的名字,随便写,不能乱写desired_caps['deviceName']='1'# 要打开的应用程序,包名desired_caps['appPackage']='com.android.settings'# 要打开的界面,界面名desired_caps['appActivity']='com.android.settings.Settings'desired_caps['unicodeKeyboard']=True# 使用自带输入法,输入中文时填Truedesired_caps['resetKeyboard']=True# 执行完程序恢复原来输入法desired_caps['noReset']=True# 不重置App状态。【保存第一次打开APP的状态】# ③ 创建APP驱动对象# wd/hub为接口地址,固定值# 连接appium服务器,webdriver模块下的Remote类;# 类名() 创建对象,两个参数,一个字符串,一个字典driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)# ④ 业务操作time.sleep(5)# ⑤关闭APPdriver.quit()

二、出现错误情况

2.1 使用小米雷电模拟器,出现以下情况:

selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of···································

selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurredwhileprocessing the command. Original error: Cannot verify the signature of'C:\Users\ggk\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.17.2.apk'.Original error: Could notfind'apksigner.jar'in["C:\\t\\android-sdk\\platform-tools\\apksigner.jar","C:\\t\\android-sdk\\emulator\\apksigner.jar","C:\\t\\android-sdk\\cmdline-tools\\latest\\bin\\apksigner.jar","C:\\t\\android-sdk\\tools\\apksigner.jar","C:\\t\\android-sdk\\tools\\bin\\apksigner.jar","C:\\t\\android-sdk\\apksigner.jar"]. Do you have Android Build Tools installed at'C:\t\android-sdk'? Stacktrace: UnknownError: An unknown server-side error occurredwhileprocessing the command. Original error: Cannot verify the signature of'C:\Users\ggk\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.17.2.apk'.Original error: Could notfind'apksigner.jar'in["C:\\t\\android-sdk\\platform-tools\\apksigner.jar","C:\\t\\android-sdk\\emulator\\apksigner.jar","C:\\t\\android-sdk\\cmdline-tools\\latest\\bin\\apksigner.jar","C:\\t\\android-sdk\\tools\\apksigner.jar","C:\\t\\android-sdk\\tools\\bin\\apksigner.jar","C:\\t\\android-sdk\\apksigner.jar"]. Do you have Android Build Tools installed at'C:\t\android-sdk'? at getResponseForW3CError(C:\Users\ggk\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\errors.js:804:9)at asyncHandler(C:\Users\ggk\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:380:37)Process finished withexitcode1

2.2 原因和解决办法

原因:Android SDK安装,没有安装相应的工具。

解决办法:双击运行SDK Manager.exe,按图下方法操作。

http://www.jsqmd.com/news/423787/

相关文章:

  • Vibe Coding:AI驱动的心流编程,如何重塑开发者体验
  • AI写论文新选择,这4款AI论文写作工具精准攻克论文各环节!
  • 把AI实验室装进口袋:用Docker打造云端可移动的Jupyter笔记本
  • AI写论文不用愁!4款AI论文写作工具,助力高效完成期刊论文!
  • DAgger - kirin
  • AI写论文秘籍在此!4款AI论文写作神器,快速攻克各类论文难关!
  • Jest测试运行器深度解析
  • 英语_错题集_2603
  • 2026覆铜扁钢接地排名 - 非研科技
  • 成都抖音代运营公司推荐,2026年助你玩转短视频,抖音推广/百度推广/网络公关/GEO优化,抖音代运营品牌需要多少钱 - 品牌推荐师
  • 2026年苏州有名的家教机构选哪家,师范家教/全托一对一/全托冲刺/小学家教/全托集训中心,家教老师联系方式 - 品牌推荐师
  • carsim/trucksim 自动泊车场景 45度平行车位自动泊车场景 45度平行车位
  • 分析拓牌润滑有实力的齿轮油工厂排名,郑州品牌性价比咋样? - 工业推荐榜
  • Jest模拟深度解析
  • Jest快照测试深度解析
  • 石墨模具接地排名标准 - 非研科技
  • 2026年铝合金门窗订做厂家,专业制造与品牌保障之选 - 品牌鉴赏师
  • 瑞祥商联卡变现最佳方案:快速、安全、可靠! - 团团收购物卡回收
  • 从此告别拖延 10个AI论文平台深度测评与推荐——本科生毕业论文写作必备
  • 对比一圈后 10个AI论文网站测评:继续教育毕业论文写作必备工具推荐
  • 研究生收藏!学生热捧的降AIGC平台 —— 千笔·专业降AIGC智能体
  • 探讨吸塑成型机厂商排名,温州佳诚机械在金华、郑州、济南口碑咋样? - 工业品网
  • 专业守护,滴水不漏 | 上海防水工程公司首选:芮生建设,14年技术沉淀,全域快速响应 - shruisheng
  • 如何快速变现瑞祥商联卡?全网最新方法汇总! - 团团收购物卡回收
  • 测完这批工具!9个AI论文平台深度测评,专科生毕业论文+开题报告全攻略
  • 干货来了:更贴合本科生的降AI率平台,千笔·降AI率助手 VS 锐智 AI
  • 瑞祥商联卡变现难?了解这些渠道,秒变轻松! - 团团收购物卡回收
  • 瑞祥商联卡怎么变现?最便捷渠道分享攻略! - 团团收购物卡回收
  • 揭秘瑞祥商联卡变现方法!三大实用渠道推荐 - 团团收购物卡回收
  • 2026年国内评价高的安检仪厂商哪家好,智能安检/安检门/安检仪/金属探测门/安检机/安检设备,安检仪实力厂家怎么选择 - 品牌推荐师