这是我参与更文挑战的第14天,活动详情查看: 更文挑战
1.Appium工具
1.1原理
Appium主要分为Client和Server,
Client | Server | |
---|---|---|
封装了Selenium客户端类库,为用户提供所有常见的Selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向等; | 定义了官方协议的扩展,为用户提供了方便的接口来执行各种设备动作,例如在测试过程中安装/卸载App等。 | |
Client通过发送HTTP请求给Server,当Server接收Client发送的请求时,会解析请求内容并调用对应的系统框架,在移动设备上执行自动化操作。因为Client和Server之间采用HTTP协议,所以Client用什么语言来开发自动化程序都是可以的。
1.2Appium的基本api
1.2.1在脚本启动其他app
driver.start_activity(”包名”,”界面名”) —–其他app的包名和界面名
#从哔哩哔哩 ------跳转到-----QQ
driver.start_activity("com.tencent.mobileqq",".activity.RegisterGuideActivity")
复制代码
1.2.2获取app的包名和界面名
1.2.3 关闭app和驱动对象
区别:quit就是相当于把driver对象给清除了,所以没有了.current_package方法,而close_app不会将driver对象清除
1.2.3安装和卸载以及是否安装app
核心代码
“
#判断qq是否已经存在
if driver.is_app_installed("com.tencent.mobileqq"):
# 如果存在,卸载
driver.remove_app("com.tencent.mobileqq")
print("卸载成功")
else:
# 如果没有,安装
driver.install_app(r"C:\Users\Administrator\Desktop\大三下作业\软件测试\qqapk_downcc.apk")
print("安装成功")
复制代码
1.2.4将应用置于后台
2.adb工具
2.1简介
ADB(Android Debug Bridge) 是一个用于管理 android 终端(或者模拟器)状态的工具。可以完成多种功能,如跟踪系统日志、上传下载文件、安装卸载应用等。
2.2原理图
2.3相关基本命令
1.将电脑上的apk安装到模拟器上
adb install apk路径
2.获取包名和界面名
adb shell dumpsys window windows |findstr mFocusedApp(使用改命令是打开了某一个应用程序)
3.将文件发送到手机
adb push 电脑路径 手机的文件夹路径
4.将手机文件发送到电脑
adb pull 手机的文件夹路径 电脑路径
5.获取app启动时间
(应用场景:(1)企业对应用程序的启动速度有要求;(2)参照同类软件,启动时间不能超过一倍)
adb shell am start -W(大写) 包名/启动名
6.获取手机日志【应用】
(应用场景:将bug日志信息发送给开发人员,便于开发人员定位bug)
adb logcat
7.其他命令