本文主要介绍在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实例的更多相关文章

  1. Appium Python 一:环境搭建

    安装Android SDK以及模拟器 由于Appium依赖于Android SDK,所以需要先安装SDK. 这里由于需要在Android模拟器上跑测试用例,所以同时需要安装Android 模拟器. 1 ...

  2. Appium+Python自动化 1 环境搭建(适用windows系统-Android移动端自动化)

    一.安装并配置 java jdk ①下载 java jdk后 安装,安装完成后,配置环境变量 打开计算机->系统属性->高级系统设置->环境变量->新建(系统变量),如图所示: ...

  3. monkeyrunner之安卓开发环境搭建(二)

    在上一篇文章-安卓开发环境搭建中,我们创建并启动了eclipse自带的安卓模拟器,该模拟器不仅启动慢,而且在使用过程中的反应速度也是出奇的差,经常出现卡机现象.为了解决这种现象,因此,我们又寻找到了更 ...

  4. appium移动端自动化测试环境搭建windows-appium-android

    第一步:安装jdk 安装jdk(1.7版本以上) 安装完成设置jdk环境变量(百度查询) cmd命令下键入 java -version命令检查jdk是否安装成功且设置环境变量成功,如下图所示: 第二步 ...

  5. python+Eclipse+pydev环境搭建

    python+Eclipse+pydev环境搭建   本文重点介绍使用Eclipse+pydev插件来写Python代码,  以及在Mac上配置Eclipse+Pydev 和Windows配置Ecli ...

  6. Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接

    今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...

  7. Python之Django环境搭建(MAC+pycharm+Django++postgreSQL)

    Python之Django环境搭建(MAC+pycharm+Django++postgreSQL) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7828614. ...

  8. Python开发:环境搭建(python3、PyCharm)

    Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))

  9. ubuntu12.04下安卓编译环境搭建总结

    前言:      因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...

随机推荐

  1. 原生js实现简单的下拉刷新功能

    前言: 我们在浏览移动端web页面的时候,经常会用到下拉刷新. 现在我们用原生的js实现这个非常简单的下拉刷新功能. (温馨提示:本文比较基础,功能也很简单.写的不好的地方,希望大神提点一二.) 一. ...

  2. 阅读之Java多线程

    Java多线程 用多线程只有一个目的,就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现. 多线程:指的是这个程序(一个进程)运行时产生了不止一个线程 并行与并发: 并行:多个cpu ...

  3. ELK——集中式日志系统

    https://www.ibm.com/developerworks/cn/opensource/os-cn-elk/index.html 基本流程是 Shipper 负责从各种数据源里采集数据,然后 ...

  4. java8中规范的四大函数式接口

    java8中规范的四大函数式接口: 1.Consumer<T>   :消费型接口    void accept(T t); 2.Supplier<T>      :供给型接口  ...

  5. Jmeter(三) 从上传图片来入门Jmeter

    用Jmeter上传用户头像到人人网 先用抓包工具Fiddler把上传操作的报文抓取下来 开启Jmeter,在测试计划中创建一个线程组,取名为“图片上传” 再在线程组中创建一个HTTP请求 在请求报文中 ...

  6. Linux下不同组件运行命令

    Spark优化配置 添加外包路径 1.1 vim $SPARK_HOME/conf/spark-defaults.conf spark.executor.extraClassPath file:/// ...

  7. AOI 设计

    http://blog.csdn.net/zhanghefu/article/details/25833535 云风的Blog 并进行整理而写. AOI(Area Of Interest),中文就是感 ...

  8. kotlin实现流读取

    在Java对流的读取是下面的那样,当前不要忘记流的关闭close. // java 代码void someFunc(InputStream in, OutputStream out) throws I ...

  9. 2018-2019-2 网络对抗技术 20165232 Exp 9 Web安全基础

    2018-2019-2 网络对抗技术 20165232 Exp 9 Web安全基础 实验任务 本实践的目标理解常用网络攻击技术的基本原理,做不少于7个题目,共3.5分.包括(SQL,XSS,CSRF) ...

  10. ES6 变量的结构赋值用途(实用技巧)

    1.交换变量的值 let x=1; let y=2; [x,y]=[y,x];//x=2,y=1 2.从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能将它们放在数组或者对象里返回,有了解构 ...