软件测试课程设计—Appium的运用之工具准备

622 阅读2分钟

这是我参与更文挑战的第14天,活动详情查看: 更文挑战

1.Appium工具

1.1原理

Appium主要分为ClientServer,

ClientServer
封装了Selenium客户端类库,为用户提供所有常见的Selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向等;定义了官方协议的扩展,为用户提供了方便的接口来执行各种设备动作,例如在测试过程中安装/卸载App等。

Client通过发送HTTP请求给Server,当Server接收Client发送的请求时,会解析请求内容并调用对应的系统框架,在移动设备上执行自动化操作。因为Client和Server之间采用HTTP协议,所以Client用什么语言来开发自动化程序都是可以的。

1.2Appium的基本api

1.2.1在脚本启动其他app

image.png

driver.start_activity("包名","界面名") -----其他app的包名和界面名

#从哔哩哔哩 ------跳转到-----QQ
driver.start_activity("com.tencent.mobileqq",".activity.RegisterGuideActivity")

1.2.2获取app的包名和界面名

image.png

image.png

1.2.3 关闭app和驱动对象

image.png

区别:quit就是相当于把driver对象给清除了,所以没有了.current_package方法,而close_app不会将driver对象清除

image.png

1.2.3安装和卸载以及是否安装app

image.png

核心代码

``

#判断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将应用置于后台

image.png

2.adb工具

2.1简介

ADB(Android Debug Bridge) 是一个用于管理 android 终端(或者模拟器)状态的工具。可以完成多种功能,如跟踪系统日志、上传下载文件、安装卸载应用等。

2.2原理图

image.png

image.png

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.其他命令

image.png

image.png

2.4相关操作截图

image.png

image.png

image.png

image.png

image.png