appium+python+安卓模拟器环境搭建和启动app实例
本文主要介绍在windows环境下搭建app自动化测试环境,具体步骤如下:
1.下载安卓sdk,网上很多资源

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

删除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

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

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

5.配置appium桌面服务器
选择安装包,填写设备名称,点击启动按钮。

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 一:环境搭建
安装Android SDK以及模拟器 由于Appium依赖于Android SDK,所以需要先安装SDK. 这里由于需要在Android模拟器上跑测试用例,所以同时需要安装Android 模拟器. 1 ...
- Appium+Python自动化 1 环境搭建(适用windows系统-Android移动端自动化)
一.安装并配置 java jdk ①下载 java jdk后 安装,安装完成后,配置环境变量 打开计算机->系统属性->高级系统设置->环境变量->新建(系统变量),如图所示: ...
- monkeyrunner之安卓开发环境搭建(二)
在上一篇文章-安卓开发环境搭建中,我们创建并启动了eclipse自带的安卓模拟器,该模拟器不仅启动慢,而且在使用过程中的反应速度也是出奇的差,经常出现卡机现象.为了解决这种现象,因此,我们又寻找到了更 ...
- appium移动端自动化测试环境搭建windows-appium-android
第一步:安装jdk 安装jdk(1.7版本以上) 安装完成设置jdk环境变量(百度查询) cmd命令下键入 java -version命令检查jdk是否安装成功且设置环境变量成功,如下图所示: 第二步 ...
- python+Eclipse+pydev环境搭建
python+Eclipse+pydev环境搭建 本文重点介绍使用Eclipse+pydev插件来写Python代码, 以及在Mac上配置Eclipse+Pydev 和Windows配置Ecli ...
- Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接
今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...
- Python之Django环境搭建(MAC+pycharm+Django++postgreSQL)
Python之Django环境搭建(MAC+pycharm+Django++postgreSQL) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7828614. ...
- Python开发:环境搭建(python3、PyCharm)
Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))
- ubuntu12.04下安卓编译环境搭建总结
前言: 因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...
随机推荐
- 前端杂谈: Attribute VS Property
前端杂谈: Attribute VS Property 第一个问题: 什么是 attribute & 什么是 property ? attribute 是我们在 html 代码中经常看到的键值 ...
- 【LuoguP5328】[ZJOI2019]浙江省选
题目链接 题意 给你一堆斜率和纵截距都为正的直线 ,求对于一个条直线是否存在一个 x 使得在这条直线在 x 处能是前 m 大,输出最高能够达到的排名(排名定义为在 x 处严格大于自己的直线条数+1) ...
- SparkStreaming HA高可用性
1.UpdateStateByKey.windows等有状态的操作时,自动进行checkpoint,必须设置checkpoint目录,数据保留一份在容错的文件系统中,一旦内存中的数据丢失,可以从文件系 ...
- 【leetcode】1254. Number of Closed Islands
题目如下: Given a 2D grid consists of 0s (land) and 1s (water). An island is a maximal 4-directionally ...
- MDK Keil 5软件小技巧
几乎所有玩ARM Cortex M单片机的坛友都是通过MDK Keil 5或者IAR环境进行单片机的程序开发的,俗话说工欲善其事必先利其器,我们天天都在用这个开发环境,那么,有些在MDK Keil 5 ...
- C_clock()测试代码(循环)运行时间
clock() 传送门(百度百科) clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t.在MSDN中,查得对clock函数定义如下: clock_t clock(voi ...
- DVWA--Command Injection
首先我们查看源代码一下 <?php if( isset( $_POST[ 'Submit' ] ) ) { // Get input $target = $_REQUEST[ 'ip' ]; / ...
- [CSP-S模拟测试]:字符交换(贪心+模拟)
题目传送门(内部题136) 输入格式 输入文件第一行为两个正整数$n,k$,第二行为一个长度为$n$的小写字母字符串$s$. 输出格式 输出一个整数,为对字符串$s$进行至多$k$次交换相邻字符的操作 ...
- MariaDB 默认是禁止远程访问的 我们改掉它
查询用户账号信息: select User, host from mysql.user; 现在只显示 root账户中的host项是localhost表示该账号只能进行本地登录,我们需要修改权限,输入 ...
- mysql 查询近三个月数据
select * from t_user where time>DATE_SUB(CURDATE(), INTERVAL 1 WEEK) --一周 select * from t_user wh ...