提升之路--从0开始学app自动化(2)--appium第一个脚本&adb命令

启动app自动化程序的步骤

前提:配置环境的5步操作

1,打开模拟器或者连上手机(开发者模式,usb调试模式)

2,打开cmd命令行输入adb devices,确保手机或者模拟器已经连接上电脑

3,开启appium服务 

 开放4723端口,客户端要访问该端口才能连上服务器,所以要确保端口没被占用

 

 手机端里的浏览器,或者在app里面嵌入的网页(H5)需要驱动

4,appium客户端(代码)连接服务

客户端通过appium连接服务

-导入Remote类

from appium.webdriver import Remote

-发送请求,初始化手机对象

driver = Remote(command_executor="http://127.0.0.1:4723/wd/hub",
                 desired_capabilities=caps)

重点:传入2个参数

1,指明需要连接的服务地址和端口号 command_executor

 源码里面提供了默认参数,但是跟本地开的端口不一样,要么开启appium服务时候把端口改成4444,或者把默认端口改成4723

2,配置desired_capabilities传入的是一个字典(定义为caps),向服务器提供设备和app的信息,还有启动前的配置操作

desired_capabilities的参数有很多种,通常用的如下:

-platformName(必选)   

系统的名称(Android,Ios)

-udid(必选)     

连接设备的名称 原先是deviceName,用udid更容易被识别设备,可以在命令行用adb devices获得

-app             

启动app的安装包(apk),要填入安装包的绝对路径(最好不要用中文),如果手机不存在此app,则会安装,如果存在,则会打开此app

-appPackage(安卓专有)

启动apk的包名,通过adb/aapt命令获取

-appActivity(安卓专有)

简单来说是App提供的各种不同的功能界面.每个程序都有个MainActivit,就是打开程序时显示在屏幕的活动,相当于web里面网页的title,不同的activity表示不同的界面,通过adb/aapt命令获取

-unicodeKeyboard(必填)

开始unicode编码形式的键盘,设置为True后,可以输入中文

-resetKeyboard

重启键盘

-noReset

不重置,默认为Fasle,每次启动脚本的时候,都是像一个新安装的app一样,有欢迎界面,设置界面,不会保存用户信息,如果想要记录用户操作信息,要设置为True

-autoGrantPermissions

权限操作,设置为True,如果app提示授权,会自动确认

-platformVersion(可选)

手机系统的版本号,用于测试指定系统版本. 如果填了,就要打开相应版本的手机,否则会报错

adb命令获取手机系统版本号: adb shell getprop ro.build.version.release

-automationName

驱动名称

-browerName

浏览器名称,用于手机端web测试

-chromedriverExecutable/chromedriverExecutableDir

网页浏览器驱动的完整路径/网页浏览器驱动的目录

-autoWebview

开机进入网页模式

aapt指令的使用

输入指令:aapt dump badging 路径包名.apk,获取包名和activity

ADB命令的使用

-获取包名

adb shell am monitor

-获取包名和activity名称

adb logcat | findStr -i displayed 页面跳转时会自动获得

-查看当前应用包名和activity名称 

adb shell dumpsys activity activities | findstr mResumedActivity  如果页面跳转了需要手工再输入一次获得

-获取电脑里连接的设备名称

adb devices

-手工连接设备

adb connect 127.0.0.1:设备端口

-安装apk

adb install 路径/包名.apk

-从手机拉取文件到电脑

adb pull 手机文件路径 电脑路径

-把电脑文件推送到手机

adb push 电脑文件路径 手机文件路径

-进入手机的操作系统

adb shell

-获取操作系统的版本

adb (可以加上-s 设备名称) shell getprop ro.build.version.release

Appium启动之后都做了些啥?

填入参数之后,执行初始化手机对象,appium接收到请求,然后开始验证我们所传的参数

1,客户端创建会话

初始化Remote类的时候发送一个请求,创建一个session

 提供请求参数,代码中caps的信息

 使用参数调用createSession()方法

 提示appium创建了一个安卓驱动(Uiautomator2)

 提示代码中传入的caps信息

 提示创建了sessionID

2,开启app

使用Uiautomator2安卓驱动启动apk

 查找环境变量的adb指令

 使用adb指令,查找电脑上连接的设备

 appuim通过adb检验caps里的参数是否准确

启动安卓驱动

 通过adb指令判断是否存在包名

通过adb命令启动app

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值