python+appium+android实现自动化测试

应该安装些什么?

  • python + appium-python-client
  • appium desktop 或 appium server(旧)
  • android SDK 或 android studio(某些地方下载的android studio中有集成android SDK)
  • java JDK

环境准备

1、安装jdk
安装参考

2、安装python
安装参考

3、安装appium-python-client

  • Appium Client 是对 webdriver 原生 API 的一些扩展和封装。它可以帮助我们更容易的写出用例,写出更好懂的用例。
    Appium Client 是配合原生的 webdriver 来使用的,因此二者必须配合使用缺一不可。
    推荐通过 pip 进行安装“Appium-Python-Client”。
pip install Appium-Python-Client

git项目地址

4、安装appium desktop

  • appium 移动测试中有个很重新的组件 appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试。
  • 但 appium-Server 有一两年没有更新了。Windows 版在 2015 年底止步于的 AppiumForWindows _1_4_16_1.zip 版本于是,新的工具 appium-desktop 来了! 它来继续 Appium-Server 的使命,当然, Appium-Server 当前仍然是可用的。
    然是可用的。
  • appium-desktop 下载地址:
    根 据 自 己 的 平 台 选 择 相 关 的 包 进 行 下 载 。 本 文 以 Windows 为 例 , 所 以 选择 appium-desktop-Setup-1.2.4.exe 文件进行下载。
    安装过程太简单了,双击 exe 文件,然后,等待安装完就好了,中间都不需要你设置任何选项。所以,
    这里就不贴图了。
    启动运行安装完成桌面会生成一个紫色的 appium 图标,双击打开。

    默认显示监控的 host 和 port ,这和 Appium-Server 中是一致的。点击“Start Server V 1.7.1”按钮启动服务。

    现在启动 启动你的移动设备(真机或模拟器),编写 Appium 自动化测试脚本,可以通过
    Appium-desktop 来运行测试了。

5、安装SDK
Android SDK(Software Development Kit,软件开发工具包)提供了 Android API 库和开发工具构建,测试和调试应用程序。简单来讲,Android SDK 可以看做用于开发和运行 Android 应用的一个软件。
安装参考

6、安装android studio(非必须)
只是在android studio中看起来更爽
安装参考
官方下载地址
studio中匹配sdk后,也可以像sdk中一样创建镜像、启动模拟器和下载系统包

使用

1、启动设备
1.1启动仿真设备
在sdk或studio中启用模拟器

1.2真机启用方法
usb连接手机,打开开发者模式 -> 开启USB调试(若提示是否允许调试,点是,不然不能某些操作)

adb devices命令查看已连接的设备

C:\Users\ adb devices
List of devices attached #已连接设备下方才有内容
emulator-5554   device #虚拟设备
5b76df00        device #真机

2、启动appium desktop

3、第一个脚本
以下为模拟器中的计算器操作示例:

import unittest
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android' #所运行的系统
desired_caps['platformVersion'] = '7.1.1' #系统版本
desired_caps['deviceName'] = 'Android Emulator' #使用的手机类型或模拟器类型
desired_caps['appPackage'] = 'com.android.calculator2' #你想运行的 Android 应用的包名
desired_caps['appActivity'] = '.Calculator' #你想要等待启动的 Android Activity 名称
desired_caps['noReset'] = True #是否跳过过度动画(新安装程序打开时的各种介绍,如本次包含什么新特性什么的)

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #指定到appium desktop所监听的端口
#以下为应用中的元素操作
driver.find_element_by_id("com.android.calculator2:id/digit_1").click()
driver.find_element_by_id("com.android.calculator2:id/digit_5").click()
driver.find_element_by_id("com.android.calculator2:id/digit_9").click()
driver.find_element_by_id("com.android.calculator2:id/del").click()
driver.find_element_by_id("com.android.calculator2:id/op_add").click()
driver.find_element_by_id("com.android.calculator2:id/digit_6").click()
driver.find_element_by_id("com.android.calculator2:id/eq").click()
driver.quit() #退出

尝用知识:
1、在设置中查看系统版本(platformVersion)

2、手机类型(deviceName)

模拟器直接输入:iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, GalaxyS4, 等。

使用adb devices -l命令

C:\Users\ adb devices -l
List of devices attached
5b76df00               device product:PD1616 model:vivo_X9 device:PD1616 transport_id:13

model:后面的就是手机型号

3、包名和活动(appPackage和appActivity)

3.1 将需要查看包名的程序启动
3.2 执行adb shell dumpsys window w | findstr \/ | findstr name=命令(查看正在运行的程序)

C:\Users\ adb shell dumpsys window w | findstr \/ | findstr name=
      mSurface=Surface(name=com.android.calculator2/com.android.calculator2.Calculator)

/左边的com.android.calculator2appPackage
/右边的com.android.calculator2.CalculatorappActivity
其他查看方式
appium通用关键字

©️2020 CSDN 皮肤主题: 撸撸猫 设计师:设计师小姐姐 返回首页