appium日志分析

 一、运行一个错误的流程(系统版本故意填错了)

第一步:

当执行下面这行代码时,实际上是python代码往这样的一个地址http://127.0.0.1:4446/wd/hub上发送了一个post请求, 以这样的一个接口创建了一个post请求,下面弱字符是这个接口请求传的参数caps,也就是我们python代码里写的caps参数(deviceName,platforName,app 等等)。

driver = Remote(command_executor='http://127.0.0.1:4446/wd/hub',
                    desired_capabilities=caps
                    )

第二步:

appiumdriver去调用这个方法去创建一个session,参数也是caps这些,

第三步

这里有一个警告信息:这个automationName没有被提供在这个desired capabilities里面,不过没关系,默认就是使用uiAutomator2。

 

 接下来还是校验参数,检验本地的apk包

 重点:

然后appium调用了本地的adb指令,

使用adb指令输入了这么一行命令,这个命令是启动一个app的服务

 

通过adb查看emulator-5554这个设备的安卓版本是7.1.2,然后我们参数caps指定的安卓版本是8.1,两者之间是不匹配的,后面直接断言不通过,8.1不等于7.1.2,后面就不往下走了。

 然后直接报500

梳理

python启动appium时发生了什么?

  1. python 往 appium服务的 /session 接口 发送了一个 post 请求,参数就是caps指定的参数(系统名,系统版本,设备名,app)。
  2. appium会校验你传过来的参数。
  3. 怎么校验的?通过adb指令去校验,比如说adb connect 去建立连接,检测设备系统版本(通过adb指令 adb shell进入设备的系统,获取系统相关信息,完成校验)。不需要我们手动去敲adb这些命令,appium都自动给我们去输入adb命令去校验。
  4. 获取系统相关信息完成校验
  5. 检验 app有没有安装
  6.  adb shell am start 启动app 
    ​​​​​​​因为校验操作较多,所有appium启动较慢。

二、运行一个正常的流程

校验跟运行一个错误的流程同理

 启动app:
adb.exe -p 5037 -s emulator-5554 shell am start -w -n com.lemon.lemonban/com.lemon.lemonban.activity.WelcomeActivity -s -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值