appium+python+安卓模拟器环境搭建和启动app实例

时间:2024-01-13 18:29:26

本文主要介绍在windows环境下搭建app自动化测试环境,具体步骤如下:

1.下载安卓sdk,网上很多资源

appium+python+安卓模拟器环境搭建和启动app实例

2.下载并安装安卓模拟器,官网上有

appium+python+安卓模拟器环境搭建和启动app实例

删除bin文件下的adb.exe和nox_adb.exe,再拷贝android sdk/platform-tools/bin.exe至模拟器安装文件夹bin下,分别命名adb.exe和nox_adb.exe,等于是替换这2个文件。

按住shift+鼠标右键,选择“在此处打开新窗口”,在控制台窗口中输入adb devices,出现以下结果,说明环境安装成功了。

有的文章写到需要先执行nox_adb.exe connect 127.0.0.1:62001,感觉不需要,也很矛盾,因为在adb devices之前还不知道设备名称,如果模拟器重启,需要执行nox_adb.exe connect 127.0.0.1:62001

appium+python+安卓模拟器环境搭建和启动app实例

3.安装需要测试的apk,拖动apk文件至模拟器中即可。

appium+python+安卓模拟器环境搭建和启动app实例

4.查看安装包信息,aapt dump badging e:\巡检安装包\v1.3.5.apk

appium+python+安卓模拟器环境搭建和启动app实例

5.配置appium桌面服务器

选择安装包,填写设备名称,点击启动按钮。

appium+python+安卓模拟器环境搭建和启动app实例

6.编写启动脚本

import time
from appium import webdriver capabilities = {}
# Android平台测试
capabilities['platformName'] = 'Android'
# 手机版本
capabilities['platformVersion'] = '5.1.1'
# 设备名称
capabilities['deviceName'] = '127.0.0.1:62001'
# app包名
capabilities['appPackage'] = 'com.hrg.ric.plus'
# app主入口activity
capabilities['appActivity'] = 'com.hrg.ric.activity.LoginActivity'
capabilities['unicodeKeyboard'] = 'True'
capabilities['resetKeyboard'] = 'True'
# 连接测试机所在服务器
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', capabilities) try:
# 通过andriod sdk自带工具uiautomatorviewer获取id
driver.find_element_by_id('com.hrg.ric.plus:id/et_email_phone').clear()
driver.find_element_by_id('com.hrg.ric.plus:id/et_email_phone').send_keys('136xxxxxxxx')
driver.find_element_by_id('com.hrg.ric.plus:id/et_password').clear()
driver.find_element_by_id('com.hrg.ric.plus:id/et_password').send_keys('')
driver.find_element_by_id('com.hrg.ric.plus:id/btn_login1').click()
except Exception as e:
print("no such element")
print(e) time.sleep(2)
#断开连接
driver.quit()

红色部分是需要根据具体情况进行替换的。

其中可以用android sdk自带的autonatorviewer工具(tools文件夹下)寻找各个控件的id。

点击第二个小按钮,会出现安卓模拟器界面,然就交替操作模拟器和此按钮来同步界面。

appium+python+安卓模拟器环境搭建和启动app实例

appium+python+安卓模拟器环境搭建和启动app实例

执行脚本

appium+python+安卓模拟器环境搭建和启动app实例

至此,已完成环境搭建和最简单的例子,后面主要工作就是编写代码。