【原创】Python3 + Red + PyDev + Eclipse + Subversion + RobotFramework + UI Automator2 + Weditor 构建Web+Mobile 交互式移动App自动化测试环境
环境搭建步骤:
1. 下载安装Oracle JDK;
安装路径设置为C:\Program Files\Java\jdk1.8.0_152
2. 下载安装Eclipse;
安装路径设置为C:\Eclipse
3. 下载安装Python3;
安装路径设置为C:\Python37
4. 配置Java环境变量;
增加JAVA_HOME环境变量:C:\Program Files\Java\jdk1.8.0_152
增加CLASSPATH环境变量:.;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
5. 配置Python环境变量;
将C:\Python37;C:\Python37\Lib;C:\Python37\Scripts;加入系统Path环境变量最后;
6. 安装Python Libraries(RobotFramework-Selenium2Library,Weditor);
pip install RobotFramework-Selenium2Library
pip install Weditor
7. 安装配置Eclipse插件(RED,PyDev,Subversion);
Eclipse > Help > Eclipse MarketPlace进行搜索安装;
8. 启动Eclipse环境,初始化Robot项目结构;
新建Robot类型项目,导入Selenium2Library及UIAutomator库链接;
建立项目脚本的分层结构(Common Keywords,Business Keywords,Locator resource,Data resource,Python Libs);
9. 下载安装Google Chrome浏览器及ChromeDriver;
Chrome浏览器从https://www.google.cn/intl/zh-CN/chrome/下载;
ChromeDriver从镜像站点http://npm.taobao.org/mirrors/chromedriver/下载;
10. 下载和配置Android开发环境(ADB),并打开手机的USB调试模式;
假设Android SDK 路径为E:\Android_Dev\adt\sdk
将E:\Android_Dev\adt\sdk\platform-tools;E:\Android_Dev\adt\sdk\tools;加入系统Path环境变量;
adb devices 确保状态为device,而不是offline或unauthorized
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
a444b4a45514c device
11. 初始化UIAutomator2到手机;
执行 python -m uiautomator2 init
12. 启动Weditor,连接Mobile移动设备;
运行python -m weditor
在浏览器中打开链接上的移动设备(手机)Android或iOS进行元素获取
13. 开始移动端的Hello World;
编写打开通讯录程序,新建一个10086通讯录,保存;
d.xpath('//*[@content-desc="联系人"]/android.widget.ImageView[1]').click()
d.xpath('//*[@resourceId="com.samsung.android.contacts:id/contact_list_floating_action_button"]').click()
d.xpath('//*[@resourceId="com.samsung.android.contacts:id/nameEdit"]').send_keys("中国移动客服", clear=True)
d.xpath('//*[@resourceId="com.samsung.android.contacts:id/titleText", text="手机"]').send_keys("10086", clear=True)
d.xpath('//*[@resource-id="com.samsung.android.contacts:id/menu_done", text="保存"]').click()
【原创】Python3 + Red + PyDev + Eclipse + Subversion + RobotFramework + UI Automator2 + Weditor 构建Web+Mobile 交互式移动App自动化测试环境的更多相关文章
- pydev+eclipse+python3.4运行hello word,提示Error in sitecustomize; set PYTHONVERBOSE for traceback:
刚开始学习python,按照网上步骤搭建好pydev+eclipse的开发环境,运行print("hello world")提示下面错误: Error in sitecustomi ...
- SVN资源库报错:Could not create the view: org.tigris.subversion.subclipse.ui.repository.RepositoriesView
解决方法: 关闭正在运行的myeclipse,然后打开myeclipse安装路径(我的安装在c盘): c:\ProgramFiles\MyEclipse\MyEclipse Professional ...
- RobotFrameWork Web自动化测试环境搭建
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收 ...
- Eclipse 导入外部项目无法识别为web项目并且无法在部署到tomcat下
uss_web如果没有左上角那个球,tomcat就识别不出来的. 1.进入项目目录,找到.project文件,打开. 2.找到...代码段,加入如下标签内容并保存: <nature>org ...
- Selenium终极自动化测试环境搭建(二):Selenium+Eclipse+Python
前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上,下面再举例Selenium+Eclipse+Python测试环境搭建. 第一步:安装Pyth ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- 采用Eclipse中间Maven构建Web项目错误(一)
采用Eclipse中间Maven构建Web工程 1.在进行上述操作时.pom.xml一直报错 <project xmlns="http://maven.apache.org/POM/4 ...
- EventRay UI Kit – Web & Mobile 的素材
EventRay UI 工具包是一个免费的,可以现成使用的界面套件.包括多个为 Web 和移动应用设计的布局和 UI 元素.所有你需要做的就是下载这个 UI 工具包,点击源码下载打开的页面即可下载. ...
- Eclipse中使用maven构建web项目中遇到的问题
构建过程参考: http://blog.csdn.net/smilevt/article/details/8215558/ http://www.cnblogs.com/dcba1112/archiv ...
随机推荐
- [开源] LaravelPlus - 基于 Laravel 魔改,为方便实际业务使用 - 开发中
目的 为了减少重复 CURD 和新项目的配置麻烦等问题,(就是为了骗星星:LaravelPlus )如: 现有的 infyomlabs/laravel-generator CODE 生成工具虽然好用, ...
- python中全局global和局部nonlocal命名空间
python中全局global和局部nonlocal命名空间 局部名称空间对全局名称空间的变量可以引用,但是无法改变. count = 1 def func1(): count = 2 print(c ...
- pycharm虚拟环境的搭建
目录 优点 windows 安装 配置虚拟环境管理器工作目录 MacOS.Linux 安装 工作文件 配置 使用 pycharm使用 新建项目 添加环境 使用环境 优点 1.使不同应用开发环境相互独立 ...
- jwt认证规则
目录 认证规则图 django不分离 drf分类 认证规则演变图 数据库session认证:低效 缓存认证:高效 jwt认证:高效 缓存认证:不易并发 jwt认证:易并发 JWT认证规则 优点 格式 ...
- react 深度 循环嵌套对象渲染问题 map
查了一些资料貌似react的循环渲染对象只有map,但map只支持数组对象. 接到后台数据如下 { "list": { "A": [{ "image& ...
- 基于PriorityQueue(优先队列)解决TOP-K问题
TOP-K问题是面试高频题目,即在海量数据中找出最大(或最小的前k个数据),隐含条件就是内存不够容纳所有数据,所以把数据一次性读入内存,排序,再取前k条结果是不现实的. 下面我们用简单的Java8代码 ...
- Codeforces 1244F. Chips
传送门 显然可以注意到连续的两个相同颜色的位置颜色是不会改变的,并且它还会把自己的颜色每秒往外扩展一个位置 同时对于 $BWBWBW...$ 这样的序列,它每个位置的颜色每一秒变化一次 然后可以发现, ...
- 【ES6 】var/let/const的区别
var 声明变量 没有区级作用域 可以预解析 可以重复定义 声明的全局变量属于顶层对象(window)的属性 let 声明变量 有块级作用域 没有预解析 不可以重复定义 声明的全局变量不属于顶层对象( ...
- 学习笔记--三分法&秦九韶算法
前言 其实也没什么好说的吧,三分法就是用来求一个单调函数的最值和满足最大值的\(x\),秦九韶算法就是在\(O(N)\)时间内求一个多项式值 怎么用 三分法使用--看这篇:https://www.cn ...
- centos7配置rsync+inotify数据实时共享
关于centos7版本上面搭建rsync服务并且实现实时同步之前一直是在6版本上面搭建rsync服务,在7版本上面折腾了半天.此处总结下inotify下载地址:http://github.com/do ...