python编写的第一个appium自动化测试脚本
自动化测试核心组件与角色
- Python: 编程语言,用于编写自动化测试脚本。
- Appium: 一个开源的、跨平台的自动化测试框架。它就像一个“翻译官”,接收你从 Python 脚本发出来的指令(例如:点击、输入文字),并将其转换成模拟器或真机能够理解的底层命令(UIAutomator2 for Android, XCUITest for iOS)。
- 夜神模拟器: 一个 Android 模拟器,在你的电脑上虚拟出一个安卓手机环境,用于安装和运行待测的 App。
- Appium-Python-Client: Python 的一个库,它提供了与 Appium Server 通信的接口,让你能用 Python 代码方便地调用 Appium 的各种功能。
完整执行流程
-
整个流程可以概括为以下几个关键步骤,下图清晰地展示了它们之间的协作关系:
-
常用的adb命令
- 开启服务器:adb start-server
- 关闭服务器:adb kill-server
- 查看连接设备:adb devices
- 进入手机的终端系统:adb shell
- 获取连接设备信息:
- 获取手机版本号:adb shell getprop ro.build.version.release
- 获取手机当前启动的app和界面:adb shell dumpsys window windows | findstr mFocusedApp
- com.android.settings/.Settings$BluetoothSettingsActivity
- app名字:com.android.settings
- app界面名字:.Settings$BluetoothSettingsActivity
- 需要连接哪个app和界面就可以获取app以及界面名进行连接即可
-
移动测试的连接操作
通过配置连接参数,连接手机进行自动化测试。
import timefrom appium import webdriver# 配置连接手机的参数信息 # 所有的参数都是字典的格式,键值对 desired_caps = dict()# 设备的名字 desired_caps["deviceName"] = "127.0.0.1:62001"# 系统的名字 desired_caps["platformName"] = "Android"# app的名字 # desired_caps["appPackage"] = "com.android.settings" desired_caps["appPackage"] = "com.android.browser"# app的界面名字 # desired_caps["appActivity"] = ".Settings" desired_caps["appActivity"] = ".BrowserActivity"# 创建连接 driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_caps)# 休眠5秒 time.sleep(5)# 关闭 driver.quit()