到目前为止,我们已经安装了必须的软件,我们知道支持和 appium 通信的语言有 Java 和 Python,对于使用 Java 语言编写自动化测试程序,我们在本章最后一节给大家介绍,本节课我们就开始使用 Python 语言编写 appium 自动化测试脚本的,让我们开始第一个自动化测试程序吧。
安装 Python 解释器:Python 2 和 Python 3 都可以。点击安装 python 2 解释器或者点击安装 python 3 解释器。我们教程中使用 Python 3。
为了方便写程序,我们可以使用强大的 Python IDE(当然你也可以使用记事本),在此,我推荐使用 Pycharm,点击 Pycharm 安装和使用方法。
安装 python-client,其实,python-client 的项目名称叫:Appium-Python-Client,我们可以使用 Python 自带的 pip 包管理工具进行安装,命令为: pip install Appium-Python-Client
。
第一步:启动 Android 模拟器,在此,我们使用的是我们第二节配置的 Android 模拟器 ,该模拟器使用的系统版本是 Android 6.0。成功启动模拟器后,如下图。
第二步:启动 Appium-Server,当然你也可以使用 Appium-desktop,在此,我们使用 Appium-Server。
第三步:配置 Appium-Server,点击左上角安卓图标,在弹出框中找到 Capabilities 菜单,找到 Platform Name 选项选中 Android;找到 Automation Name 选项选中 Appium;找到 PlatformVersion 选项选中和你模拟器对应的系统版本 6.0 Marshmallow(其实设置任何版本都可以); 找到 Device Name 选项填入模拟器的设备名称 Android Emulator(其实也可以不填写),总体配置如下图。
第四步:点击左上角齿轮图标,在弹出框中找到 Server 菜单,我们发现 Server Address 项默认为:127.0.0.1,Port 项默认为:4723,建议使用该默认设置。
第五步:点击右上角 三角 按钮,启动 appium,我们看下 Appium 的启动日志,发现 Appium 在启动时使用我们设置的默认值,即本机的 4723 端口,也就是:127.0.0.1:4723。
> Launching Appium server with command: D:\Program Files (x86)\Appium\node.exe lib\server\main.js --address 127.0.0.1 --port 4723 --platform-name Android --platform-version 23 --automation-name Appium --log-no-color > info: Welcome to Appium v1.4.16 (REV ae6877eff263066b26328d457bd285c0cc62430d) > info: Appium REST http interface listener started on 127.0.0.1:4723 > info: [debug] Non-default server args: {"address":"127.0.0.1","logNoColors":true,"platformName":"Android","platformVersion":"23","automationName":"Appium"} > info: Console LogLevel: debug
第六步:编写 appnium 测试脚本。
from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' # 安卓系统 desired_caps['platformVersion'] = '6.0' # 连接的设备(在此是我们的模拟器)的操作系统是 6.0 版本 desired_caps['deviceName'] = 'Android Emulator' # 模拟器的设备名称 desired_caps['appPackage'] = 'com.android.calculator2' # 计算器 app 的包名 desired_caps['appActivity'] = '.Calculator' # 计算器 app 的主 activity(计算器启动的第一个页面) driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) # 连通过 ip 和端口 连接模拟器 driver.find_element_by_name("1").click() driver.find_element_by_name("5").click() driver.find_element_by_name("9").click() driver.find_element_by_name("delete").click() driver.find_element_by_name("9").click() driver.find_element_by_name("5").click() driver.find_element_by_name("+").click() driver.find_element_by_name("6").click() driver.find_element_by_name("=").click() driver.quit()
运行上面的脚本,你将会看到 Android 模拟器如下运行界面:
现在安卓版本最高的模拟器是哪个?