python测试Android手机应用

为什么做app自动化测试?

答:公司和个人都是生活所迫,还是不是为了钱嘛!!!

前期准备

  1. 安装python3.6版本
  2. pip install Appium-Python-Client 官方模块URL:https://pypi.org/project/Appium-Python-Client/
  3. 安装appium测试环境,小编推荐安装方式:
    https://anikikun.gitbooks.io/appium-girls-tutorial/content/
  4. pycharm pythonIDE

简单实例

a. 首先开启appium服务器 终端输入 appium
见到如下图则表示appium服务器已经开启

j1.png

b. 编写python脚本,示例代码如下:

from appium import webdriver
from time import sleep
# 手机与appium服务器建立连接的键值对信息
d = {
  "device": "android",   # 设备类型 android
  "platformName": "Android",  # 设备的名字 
  "platformVersion": "9",  # 安卓系统版本
  "deviceName": "46HDU1931xxx3325",  # 手机序列号
  "appPackage": "com.xxxx.mm",  # app的包名
  "appActivity": ".ui.xxxx",  # app的活动名
  "noReset": "true",  # 该参数为保存用户操作数据
# 创建一个Remote类的实例对象,
dr = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=d)
sleep(2.5)

注:这个参数是固定写法:"http://127.0.0.1:4723/wd/hub",也可以写成"http://localhost:4723/wd/hub"

程序运行后appium服务器开始记录日志信息

j2.png

同时手机上自动开启相应的app

相关知识小结

获取手机包名的方法: adb shell pm list packages -3
获取手机应用Activity的方法: adb shell monkey -p com.tencent.edu -v -v -v 10 | grep 'cmp=.*'
执行之后过滤的结果例如:cmp=com.tencent.edu/.module.SplashActivity
分析后:包名为com.tencent.edu Activity名为.module.SplashActivity
手机端需要开启开发者选项:具体设置如下

开发者选项设置.jpeg

注:不清楚手机如何开启开发者选项,自请百度相应手机型号

本次小记到此结束

本文摘自@开挖机的程序员
初次发文,多多关照。余生很长,切莫悲伤

总会有美丽的事物在等待着你.jpg

你可能感兴趣的:(python测试Android手机应用)