Appium base knowledge

1. UI Automator Viewer:在Andriod_SDK安装路径下,直接点uiautomatorviewer.bat即可,可以连真机和模拟器,获取手机上各个元素的属性。

2. ADB: Android Debug Bridge  调试桥,是一个通用命令行工具,允许你与模拟器实例或连接的Android设备进行通信,默认端口:5037

--adb connect 127.0.0.1:62001   #连接模拟器,第一个端口是62001,第二个是62025,第三个是62025+1,以此类推。

--adb devices  #查看设备

--adb shell  #进入linux系统的字符交互界面

--adb -s 127.0.0.1:62001 shell   #如果开了多台模拟器,需要用这种方式

--exit    #退出

--adb install   #默认安装

--adb install | -r <apkName>  #-r 覆盖安装,

--adb -s 127.0.0.1:62001 install....#-s 指定 设备安装

--adb shell                    cd /data/app/          ls         #查询安装的软件

--adb uninstall <软件名>  #默认系统会在软件名后加-1,uninstall 的时候不要加-1才可以uninstall成功

--adb shell pm list package | grep "wadoujia" #查看设备上面安装的应用包名

--adb push c:\test.txt /sdcard  # copy 文件到模拟器手机

--adb pull /sdcard/server.log e:\dan\  #从手机copy文件到电脑

--adb shell screencap /sdcard/screen.png  #最好用.png,jpg可能文件会损坏

--adb kill-server   #关闭adb服务

--adb start-server #开户adb 服务

--netstat -ano | findstr "5037"  #如果5037端口被占用,可以用这个命令查看PID,然后用下面的命令杀掉即可

--taskkill -f -pid xxx

3. Package & Activity:

怎样获取package & activity?

a. 启动一个程序后,打开UI Automator Viewer,点device screenshot button即可获得程序的各种属性,包括package名

b. Activity,是所有程序的根本,所有程序的流程都运行在activity之中,activity可以算是开发者遇到的最频繁,也是android当中最基本的模块之一, 在android的程序中,activity一般代表手机屏幕的上屏,如果把手机比作一个浏览器,那么activity就相当于一个网页,在activity当中可以添加一些button,checkbox等控件,可以看到activity概念和网页的概念相当类似。

一般一个android应用是由多个activity组成的,这多个activity之间可以进行相互跳转,例如,按下一个button 按钮后,可能会跳转到其他的activity,与网页跳转稍微有一点不一样的是activity之间的跳转有可能返回值.

activity的生命周期:即产生,运行, 销毁,,但是这其中会调用许多方法 onCreate(创建),onStart(激活), onResume(恢复),onPause(暂停), onStop(停止), onDestroy(销毁), onRestart(重启)

--aapt (Android Asset Packaging Tool)

--aapt dump badging xxxx.apk | find "launchable-activity"

Activity页面布局元素:

FrameLayout:

LinearLayout:

RelativeLayout:

AbsoluteLayout:

TableLayout:

TextView:

ImageView:

 4. Monkey:程序是Android系统自带的,其启动脚本们于Android系统 /system/bin目录 的Monkey文件,其jar包位于Android系统的/system/framework, 用户主要通过 adb命令来启动Monkey的,Monkey在运行时,会根据命令行参数的配置,生成伪随机的事件流,并在Android设备上执行对应的测试事件。同时,Monkey还会对测试系统进行监测,录出现以下三种情况时会进行特殊处理:

a.如限定了Monkey运行在特定包上,当监测到试图转到其他包的操作,将对其进行阻止。

b.如应用程序崩溃或接收到任何失控异常,Monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行。

c.如果应用程序发生了程序无响应的错误,Monkey将记录对应的错误日志,并根据命令行参数判断是停止还是继续运行。

d.按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程 报告和生成的事件。

Monkey的启动步骤:

1.连接移动设备

2.连接成功后输入命令:adb shell

3. 进入/system/bin: cd /system/bin/

4. 执行monkey: monkey [options] <event-count>, e.g.: monkey 2000

强制关闭monkey:

5. Monkey 事件:

  • 触摸事件:按下并抬起的操作,可通过 --pct-touch参数来配置其事件的百分比
  • 手势事件:按下随机移动,抬起的操作,可通过 --pct-motion 配置
  • 二指缩放事件:
  • 轨迹事件
  • 屏幕旋转事件
  • 基本导航事件
  • 主要导航事件
  • 系统按键事件
  • 启动Activity事件
  • 键盘事件
  • 其他类型事件

6. Monkey参数:

a.常规类参数:包括帮助参数 monkey -h 和 日志信息参数 monkey -v -v -v 200 # 一个v是0级,两个v是1级,三个v是2级, 最详细

b.事件类参数:是对随机事件进行调控,从而使其遵照设定运行,如设置各种事件的百分比,设置事件生成的使用的种子值等,频率参数主要限制事件执行的时间间隔。

--monkey -f /mnt/sdcard/test1  #执行指定脚本

--monkey -s 8888 200  # -s  可以重复执行之前的伪随机操作, 本身每次执行伪随机事件操作也会默认生成一个seed种,也可以自己设定

--monkey --throttle 3000 5  #设置间隔,如果你希望在每一个指令之间加上固定的间隔时间,可以用--throttle,后面接时间,单位为ms

--monkey -v -v --pct-touch 30 200   # 调整触摸事件百分比, 可以通过 --pct-touch参数,后面加百分比

--monkey -v -v --pct-motion 40 --pct-touch 20 200  #调整手势事件百分比用--pct-motion,后面加百分比

--monkey --pct-appswitch   #调整应用启动事件的百分比, 用--pct-appswtich ,后面加百分比

--monkey --pct-rotation  #调整屏幕旋转事件百分比, 后面加百分比即可。

c.约束类参数:

--monkey -p <包名> -p <包名>  #-p后面接一个或多个包名

--monkey -c <main-category> <event-count>  #activity 约束, 测试一个或多个类别

d. 调试类参数

--monkey --ignore-crashes <event-count>  #如果希望monkey在应用程序崩溃后继续发送事件,就用这个命令,如果不设置,遇到上述情况自动停止

 实例:考研帮:

7. Appium 安装:

a. 先安装node.js (用node -v, npm -v查看是否安装成功)

b. 安装appium:可以用国内的源: npm install -g cnpm --registry=https://registry.npm.taobao.org, 然后用cnpm install -g appium  安装最新版本(cnpm install appium@1.7.2 -g安装指定版本), 然后后where appium查看安装路径, appium -v查看版本,输入appium执行.

c. 安装python

d. 安装appium desktop ,下载安装文件安装即可

e.安装appium python client: python3 -m pip install Appium-Python-Client (安装完后在python里执行from appium import webdriver,如果没有出错,代表安装成功)

f.JDK安装

g.Android sdk 安装

h.安装appium-doctor:  cnpm install appium-doctor -g, 安装完后执行appium-doctor 可以检查appium环境是否有问题

 

d.

 

转载于:https://www.cnblogs.com/tongbaomami/p/9155970.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值