android自动化(appium)
目录
5.安装andriod的sdk,并添加ANDROID_HOME配置sdk目录
二、用python语言,在eclipse编辑器中编写脚本的环境准备
2.选择运行时的python执行文件,以及需要用到python包
三、自动化测试方案(从工程建立,case编写,case组织,报告产出)
1.新建一个工程,新建py文件的自动化脚本文件,或者导入一个已有的工程文件,进行脚本编写。
一、Appium环境搭建
1. 下载nodejs,并安装
Nodejs下载地址:
https://nodejs.org/en/download/
注:下载与当前操作系统匹配的nodejs
2. 下载appium,并安装
方法1:npm install -g appium
方法2:npm -g --registry http://registry.cnpmjs.org install appium
注:方法1提示报错的话,使用方法2,方法2下载资源时有些慢,需要等待,或下一次在运行一次
3. 安装python、安装pip、安装appium
a) 安装Python
python下载地址:
https://www.python.org/downloads/
b) 安装pip
相关地址:https://pip.pypa.io/en/stable/installing/
操作方法:
判断pip安装是否安装成功:
c) 安装appium
pip install appium-python-client
pip install selenium
注:python、pip都需要添加到环境变量中(pip安装完毕后会在python/script路径下)
4. 安装java的jdk
安装完成后通过 java -version查看安装是否成功
5. 安装andriod的sdk,并添加ANDROID_HOME配置sdk目录
Appium环境搭建完毕。
二、用python语言,在eclipse编辑器中编写脚本的环境准备
使用appium可以使用各种语言进行脚本的编写,这里使用的是python,使用的编辑器是eclipse。
在eclipse编辑器中编写python脚本,需要安装python插件:
1. 安装python插件
a) 点击Help→Install New Software
b) 在Work with中输入pydev,点击下图的红框内容
c) 勾选所有项目,点击下一步(由于这里已经安装完毕,所以下一步是置灰的)
d) 弹出下面的提示框,Select All,点击ok
e) 等待安装,在eclipse的底栏显示会显示小的绿色进度,一定要等进度完成后,弹出是否重启eclipse时,再关闭eclipse,否则插件是没有办法安装上的。
2. 选择运行时的python执行文件,以及需要用到python包
点击window的preferences弹出下面的窗口,安装图中的编号进行对应的操作后,会将python的执行文件以及python需要的包加入进来,点击apply后,再点击ok
三、自动化测试方案(从工程建立,case编写,case组织,报告产出)
1. 新建一个工程,新建py文件的自动化脚本文件,或者导入一个已有的工程文件,进行脚本编写。
新建一个工程:
A.点击File → new →PyDev Project(如果没有PyDev Project ,可以点击other,按照弹出的提示框进行建立即可
B.建立文件夹以及对应python文件,右键点击建立的工程名称,选择你要建立的类型
附(导入后的工程文件):可以按照下图的方式建立需要的文件和文件夹
红色箭头的内容都是case文件(我们是按照模块来建立case文件的)
注:
- 如果需要将一个文件夹定义为一个包,则在该文件夹下需要建立空的_init_.py文件,其他的py文件是自己需要的自动化脚本。
- _int_.py :python包必须包含该文件。有它才会是一个包,不然就是一个一个的文件夹,文件夹要变成包,就需要建立一个包
- basecase.py:是自己定义的文件,将程序需要使用的初始化信息,公共函数信息都放在该文件中
- all_tests.py:是将所有要执行的case添加到该文件中,测试报告结果的代码写到该文件中,直接执行该文件,就可以得到该项目需要自动化的测试结果了
- garbage_cleanup_19.py:是助手项目的一个模块的自动化case
2. 使用appium框架,初始化
把下面这段代码放到一个py文件中,在自动化case脚本中引用该文件,这样更换设备时方便修改,当前的这个工程写入到basecase.py文件中了
注:初始化信息还有其他的参数,例如:unicodeKeyboard、resetKeyboard等等,大家需要什么参数都在这里做好定义即可
3. Case代码(一个模块为例)
test_19_1就是具体的操作步骤,以及要检查的结果,即具体的case脚本
4. 自动化测试结果报告
A. 将文件存放在python的lib目录下
http://file.mt.sogou.com/g2/M00/08/AB/CoZa6FbGyhyAfYwuAABfsU3Pcek5228.py?n=HTMLTestRunner.py
B. 将下面的代码放到all_tests.py文件的末尾,或者放在某一个模块的case末尾的位置
注:
Case执行完毕后,会出现下面的文件,右键点击文件,以Web Browser打开该文件,可以看到测试结果。
执行case完毕后:
测试结果:
5. 所有模块的case集成
android自动化(appium)的更多相关文章
- Android自动化测试之Monkeyrunner学习笔记(一)
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...
- android自动化环境搭建
android自动化环境安装指南 1.appium相关安装(eclipse下)见http://www.cnblogs.com/wangcp-2014/p/5717589.html参考selenium的 ...
- Android自动化框架介绍
随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的 ...
- Android自动化框架 模拟操作 模拟测试
转自:http://bbs2.c114.net/home.php?mod=space&uid=1025779&do=blog&id=5322 几种常见的Android自动化测试 ...
- Android自动化框架
Android自动化框架 已有 2085 次阅读2014-8-26 12:19 | Android 几种常见的Android自动化测试框架及其应用 随着Android应用得越来越广,越来越多的公司推出 ...
- 使用Monkeyrunner进行Android自动化的总结
http://www.2cto.com/kf/201411/356056.html 使用Monkeyrunner进行Android自动化的总结 使用Android自动化的方式,不仅可以用来对Andro ...
- 从零开始做一个Android自动化
移动端自动化简单说就是,写好操作app的程序,运行起来,自动执行程序和测试用例,输出执行结果,结果正确,测试通过. 自动化可以方便地完成安装/卸载.启动/运行.UI适配等环节,节省时间: 同一测试脚本 ...
- 《Android自动化环境搭建》
一.安装JDK并配置环境变量 1:在Java官网上下载本机系统相对应的jdk文件安装,直接下一步一步到位 2:配置JAVA_HOME 新建 JAVA_HOME 环境变量,变量值是所安装JDK 的路径, ...
- Android自动化学习笔记:编写MonkeyRunner脚本的几种方式
---------------------------------------------------------------------------------------------------- ...
- Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例
---------------------------------------------------------------------------------------------------- ...
随机推荐
- TCP的核心系列 — SACK和DSACK的实现(一)
TCP的实现中,SACK和DSACK是比较重要的一部分. SACK和DSACK的处理部分由Ilpo Järvinen (ilpo.jarvinen@helsinki.fi) 维护. tcp_ack() ...
- kbengine FAQ(3)
官方FAQ 下面是我遇到的一些问题: 1.服务端 "strtof" 未定义的标示符 对于我这个c++入门级都不算的新手,这个错误很挠头,这个错误是由于vc++版本问题,新版的语 ...
- Zoie Merge Policy
Zoie有一个ZoieMergePolicy如若价格值不是特别的.这是为lucene早期的版本号merge在不考虑删除doc会计并加以改进,和LogMergePolicy只是做同样的也合并相邻节段,而 ...
- EBS OAF 开发中的OAMessageRadioGroup控件
EBS OAF 开发中的OAMessageRadioGroup控件 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 简单介绍 RadioGro ...
- django1.4.5无法安装MySQLdb1.2.3
解决办法是: yum install python-devel mysql-devel zlib-devel openssl-devel 然后再build.install
- [cocos2d-x] 让精灵响应触摸 并把方向旋转到相对应的角度
在cocos2d-x里面 想要把一个精灵从原位置移动到用户所触摸到的点 , 并且把精灵的方向旋转相对应的弧度,可以参考一下我的做法 我这里的精灵是用一条鱼, 用户触摸后鱼就移动到所触摸的点, 并且移 ...
- libcprops
Install Howto Download the latest epel-release rpm from http://dl.fedoraproject.org/pub/epel/6/x86_6 ...
- QT 判断当前焦点是否在某控件上(使用hasFocus函数,毕竟QT是DIRECTUI,所以这个Focus到底代表了什么呢?)
ui->pushButtonhasFocus()->hasFocus(); ui->treeWidget->hasFocus(); http://blog.csdn.net ...
- Qt中QFtp获取带有中文的文件名称出现乱码的解决方法(执行操作前就转换编码)
今天研究了一下QFtp这个类,发现访问得到的文件名称中一旦出现中文,不管怎么转换编码格式,最终显示出来的始终都是乱码.由于编码错误,我写了两个函数用于互相转换编码. 一个是由正常编码转为QFTP上所谓 ...
- Sicily-1028
一. 题意: 算出汉诺塔移动序列中对应位置的号码,数据规模很大,所以不能单纯递归,而是要找出汉诺塔序列的规律. 二. 汉诺塔数列 为了得出最少的移动步数,当n为偶数时,最上 ...