一、环境搭建:

1.手机端操作(以红米手机为例)

(1)进入【开发者模式】

【设置】——【我的设备】——【全部参数】——【MIUI版本】点击5次,即可打开开发者模式
在这里插入图片描述

在这里插入图片描述

(2)打开USB调试及安装

在开发者选项中,打开【usb调试】、【usb安装】

2.电脑端操作

(1)android-sdk-tools环境搭建

  • 安装installer_r24.4.1-windows.exe,中途一定要出现【java路径】再进行下一步
    在这里插入图片描述
    在这里插入图片描述
  • 解压缩build-tools.zip 、tools.zip 、platform-tools.zip 到 安装目录【不要文件夹套着文件夹】
    在这里插入图片描述
  • 打开安装目录中SDK Manager.exe, 查看platform-tools和build-tools是否已安装
    在这里插入图片描述
  • 查看手机的android版本, 在SDK Manager中 安装对应 android版本
    在这里插入图片描述

二、使用appium进行APP测试:

1.手机端操作(以红米手机为例)

(1)进入【开发者模式】

步骤见1,不再赘述

(2)打开USB调试及安装

步骤见1,不再赘述

(3)手机通过数据线连接电脑

2.电脑端操作(以手机中自带计算器为例)

(1)打开appium,点击编辑配置,将如图所示位置的路径分别更改为自己的路径

在这里插入图片描述

(2)保存修改,点击启动服务器

(3)点击【File】——【New Session Window】,新建一个会话窗口

在这里插入图片描述
在这里插入图片描述

(4)第一次使用时需要配置所需功能

在这里插入图片描述
如图所示几项分别为:

  "platformName": "Android",            # 系统环境
  "platformVersion": xxxx,              #测试手机android版本
  "automationName": "uiautomator2",     #自动化名称
  "deviceName": xxxxx,                  #设备名称
  "appPackage": xxxx,                   # 程序包名
  "appActivity": "xxxx,                 #程序入口类名
  "noReset": true                       #保存session状态

其中【设备名称】获取方式为:
1.win+R——输入cmd——按enter键打开DOS命令窗口
2.在命令窗口输入【adb devices】,按回车
3.红框位置即为设备名称
在这里插入图片描述
其中【程序包名】获取方式为:
1.关闭手机所有后台程序
2.win+R——输入cmd——按enter键打开DOS命令窗口
3.在命令窗口输入【adb shell “dumpsys window | grep mCurrent】
4.点开 手机中 – 计算器-应用程序
5.命令窗口按回车
6.红框位置即为程序包名
在这里插入图片描述
其中【程序入口类名】获取方式为:
步骤同上,红框中即为所需结果
在这里插入图片描述

(5)配置好所需功能后,保存配置,点击启动会话

在这里插入图片描述

(6)会发现手机端已经自动跳转到计算器界面,并显示在电脑端appium窗口左侧

在这里插入图片描述

  • 注:如果手机是第一次连接appium,会提示下载一个软件【Appium Settings】,正常下载安装即可,安装后的APP如图中红框所示
    在这里插入图片描述
    之后再次使用就无需下载,【Appium Settings】运行时会显示在手机通知栏,如图中红框所示
    在这里插入图片描述

(7)通过鼠标点击电脑appium上的手机计算器界面,录制需要测试的操作(以测试九九乘法表为例)

  • 首先在DOS窗口中输入【adb shell pm clear 包名】,按enter,意为清除缓存,防止缓存对将要进行的测试造成影响,返回结果为【Success】即清除缓存成功
    在这里插入图片描述
  • 点击红框处眼睛图标,即为开始录制
    在这里插入图片描述
  • 开始录制具体操作,以操作7*8为例
    在这里插入图片描述
    在这里插入图片描述
  • 将录制的代码复制到pycharm
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction

dict={
  "platformName": "Android",
  "platformVersion": "11",
  "automationName": "uiautomator2",
  "deviceName": "8d572966",
  "appPackage": "com.miui.calculator",
  "appActivity": "com.miui.calculator.cal.CalculatorActivity",
  "noReset": "true"
}

if __name__ == '__main__':

    driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',dict)

    driver.implicitly_wait(10)
    #TODO 干掉弹框
    TouchAction(driver).tap(x=777, y=2192).perform()
    for i in range(1, 10):
        for j in range(i, 10):
            #TODO 按下 9
            el1 = driver.find_element_by_id(f'com.miui.calculator:id/digit_{i}')
            el1.click()
            # TODO 按下 乘X
            el2 = driver.find_element_by_accessibility_id("乘")
            el2.click()
            # TODO 按下 8
            el3 = driver.find_element_by_id(f'com.miui.calculator:id/digit_{j}')
            el3.click()
            # TODO 获取 result 结果
            el4 = driver.find_element_by_id("com.miui.calculator:id/result")
            print(f"结果信息:{i} X {j} {el4.text }", end=", ")

            el6 = driver.find_element_by_accessibility_id("清除")
            el6.click()

        print(f"\n-----{i}乘法已完毕-----------")

  • 运行结果:
    在这里插入图片描述
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐