Appium基础内容,以及Android系统的配置

Appium—Android

  1. Android 使用uiautomator2来查找界面元素。
  2. webdriver 是基于 http 协议的,第一连接会建立一个 session 会话,并通过 post 发送一个 json 告知服务端相关测试信息。
  3. client/server 设计模式。
  4. 客户端通过 webdriver json wire 协议与服务器通讯。
  5. 多语言支持。
  6. server 可以放在任何地方。
  7. 服务器 nodejs 开发的 http 服务。
  8. appium 使用 appium-xcuitest-driver 来测试 iphone 设备,其中需要安装 Facebook 出的 WDA(webdriver agent) 来驱动 ios 测试。

Appium配合的工具

  1. appium Destkop:内嵌 appium server inspector 的综合工具。
  2. appium serverappium 的核心工具,命令行工具。
  3. appium client:各种语言的客户端封装库,用户连接 appium server,包含 pythonjavaruby 等。
  4. appcrawler 自动遍历工具。

获取应用包信息

  1. adb shell pm list packages 查看设备中所有的包 
  2. adb shell pm list packages -e 只输出启用的包。
  3. adb shell pm list packages -3 只输出第三方的包。
  4. adb shell pm list packages -f 输出包和包相关联的文件。
  5. adb shell dumpsys activity top 获取当前页面元素。
  6. adb shell dumpsys activity activities 获取任务列表。
  7. adb shell am start -W -n xxx -S 启动应用。
  8. 获取appActivityaapt dump badging xxxx.apk | find "launchable-activity"
  9. 获取appPackageaapt dump badging xxxx.apk | find "package: name="
     

Desired Capabilities 配置信息

Capabilities:是一组设置的键值对的集合,其功能为:对Appium会话进行配置,传达给服务器所需自动化的平台和应用程序,通知Appium Server建立所需要的Session信息;session是

Appium的Client和Server之间进行通信,必须在一个Session的上下文中进行。Client发起通信时,首先会发送一个"Desired Capabilities"的JSON对象给Server,Server收到该数据后会创建一个session,并将sessionID返回到客户端。

appium参数配置地址:http://appium.io/docs/cn/writing-running-appium/caps/https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/caps.md

appium客户端会话:Automatic Server:本地Appium Server服务
Custom Server:针对运行在网络中的另一台设备上的Appium服务器启动Inspector会话
Sauce Labs:利用Sauce Labs帐户在云测平台启动Appium会话
TestObject:利用TestObject调用真机进行测试
headspin:使用远程设备来创建会话。

noRest:若取值为true,则在Session有效期内每次登录可维持登录状态而不会被动退出;若取值为false,则每次登录都需要输入用户名和密码登录 。

问题记录:

启动时遇到的问题:An unknown server-side error occurred while processing the command. Original error: Error getting device API level. Original error: Error executing adbExec. Original error: 'Command '/android-sdk-macosx/platform-tools/adb -P 5037 -s d69721e shell getprop ro.build.version.sdk' timed out after 20000ms'. 启动应用时遇到该问题,根据参数配置"adbExecTimeout":"200000",重启手机,重启appium服务,启动成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Elvin.Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值