基于RobotFramework实现自动化测试
Java + robotframework + seleniumlibrary
- 使用Robot Framework Maven Plugin(http://robotframework.org/MavenPlugin/)执行自动化测试
- chromedriver下载: http://chromedriver.storage.googleapis.com/index.html
- chromedriver和chrome版本对应关系:https://sites.google.com/a/chromium.org/chromedriver/downloads
- chromedriver直接放到chrome所在目录
- 插件执行,需要指定chromedriver位置
robotframework:run "-Dwebdriver.chrome.driver=C:\Program Files (x86)\Google\Chrome\Application/chromedriver.exe"
- 参考完成例子:robotframework
Python + robotframework + appiumlibrary + Appium
1、安装python3.3+
2、安装robotframework
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework
3、app测试,安装robotframework-appiumlibrary
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework-appiumlibrary
4、测试用例操作图形界面,安装robotframework-ride
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework-ride
- 可创建快捷方式:ride.py
- 4.1 File-New Project,选择类型Directory type, 选择Format ROBOT
- 4.2 测试项目-New Suite,输入Name,选择类型File type,选择Format txt
- 4.3 测试套件-New Test Case,输入Name
- 4.4 导入测试库AppiumLibrary
- 4.5 编写测试用例
- 参考:https://www.cnblogs.com/tester-l/p/7994480.html
5、web测试,安装robotframework-selenium2library
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework-selenium2library
6、安装Android SDK,Appium
- https://www.cnblogs.com/feng0815/p/8179714.html
- 6.1 安装Android SDK,需要在模拟器上运行apk文件 (http://tools.android-studio.org/index.php/sdk/)
- 6.2 安装nodejs 官网(https://nodejs.org/en/download/)
- 6.3 安装Appium Desktop(http://pan.baidu.com/s/1jGvAISu)
- File -> New Session Window 创建Appium客户端,方便元素定位
{
"platformName": "Android",
"platformVersion": "4.4.2",
"deviceName": "127.0.0.1:62025",
"appPackage": "zz.dela.cmcc.traffic",
"appActivity": "zz.dela.cmcc.traffic.features.splash.view.SplashActivity",
"noReset": true
}
7、安装夜神模拟器
- 启动模拟器
- adb devices 如果没有发现设备信息,将SDK目录下的adb.exe文件,复制到夜神模拟器的目录下,复制过去之后改名为nox_adb.exe,然后重启
- 夜神模拟器设备信息为ip:port
- 参考:https://jingyan.baidu.com/article/1e5468f9bb6ab9484961b707.html
8、获取apk信息
- 进入sdk\build-tools\版本号 的目录下,cmd命令:
- ./aapt dump badging xxx.apk
- 可以看到:package: name='zz.dela.cmcc.traffic'
- launchable-activity: name='zz.dela.cmcc.traffic.features.splash.view.SplashActivity'
9、RIDE基本配置
*** Test Cases 打开app应用***
Case1
Open Application http://127.0.0.1:4723/wd/hub platformName=Android platformVersion=4.4.2 deviceName=127.0.0.1:62025 appPackage=zz.dela.cmcc.traffic appActivity=zz.dela.cmcc.traffic.features.splash.view.SplashActivity noReset=true
10、操作流程
- 打开夜神多开器,创建模拟器,android版本为4,然后启动模拟器

- 安装10086app

- 打开Appium,默认配置即可,直接启动(启动的是Appium服务端)

- 创建Appium客户端,填写模拟器设备名称(通过adb devices命令查看),apk包信息等,然后启动客户端


- Appium客户端可以帮忙定位app页面上的元素信息

- 开启RIDE,编写测试脚本


- 在RIDE执行Test Case,会生生测试报告


基于RobotFramework实现自动化测试的更多相关文章
- robotium从入门到放弃 三 基于apk的自动化测试
1.apk重签名 在做基于APK的自动化测试的过程中,需要确保的一点是,被测试的APK必须跟测试项目具有相同的签名,那怎么做才能确保两者拥有相同的签名呢?下面将给出具体的实现方法. 首先将被测 ...
- Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)
Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.S ...
- 使用 Selenium 实现基于 Web 的自动化测试
(转自http://www.ibm.com/developerworks/cn/web/1209_caimin_seleniumweb/index.html) Selenium 是一个用于 Web 应 ...
- 基于坐标的自动化测试神器---Total Control快速入门
1.Total Control简单介绍 一款能够在PC上控制手机的软件,同时可以使用PC 触摸屏.鼠标.键盘, 全面操控 Android 手机,只需通过 USB 或 WiFi 连接手机至电脑,即可随时 ...
- 基于MBT的自动化测试工具——GraphWalker介绍和实际使用
GraphWalker是一个开源的基于模型的自动化测试工具,它可以用来通过图形测试模型来自动生成测试用例. 本文主要描述了使用yed画出FSM, EFSM模型图(常见的流程图),然后使用GraphWa ...
- 基于Python接口自动化测试框架+数据与代码分离(进阶篇)附源码
引言 在上一篇<基于Python接口自动化测试框架(初级篇)附源码>讲过了接口自动化测试框架的搭建,最核心的模块功能就是测试数据库初始化,再来看看之前的框架结构: 可以看出testcase ...
- RobotFrameWork Web自动化测试环境搭建
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收 ...
- Nightmare基于phantomjs的自动化测试套件
今天将介绍一款自动化测试套件名叫nightmare,他是一个基于phantomjs的测试框架,一个基于phantomjs之上为测试应用封装的一套high level API.其API以goto, re ...
- robotframework+seleniumlibrary自动化测试:测试环境搭建
robotframework是由python编写的自动化测试框架,使用robotframework需要安装 python库 python 和 robotframework 的下载地址都可百度到 环境搭 ...
随机推荐
- 20152016-acmicpc-neerc-northern-subregional-contest J:Journey to the "The World's Start"(单调队列+DP+二分)
http://codeforces.com/gym/100801/attachments 题意:给出n-1张不同的票,票价分别为 pi,每张票每次最多可以坐 r 个站(1<=r<n),并且 ...
- python中的 == 和 is 的区别
== 比较的是两边的值 is 比较的是两边的内存地址 通过 id()获取内存地址 小数据池:我们使用过的值存储在小数据池中,供其他数据使用. 小数据池仅限于 数字 和 字符串: 数字的小数池范围 ...
- gePlugin封装成winform控件,一行代码即可加载。
将插件直接封装为控件,大大简化了GEPlugin的使用.多数常用功能也已经封装完毕,其他功能全部开放接口,直接调用即可. 1. GepluginControl控件传送门: 链接:https://pan ...
- Linux命令学习-cd命令
Linux中,cd命令的全称是change directory,即改变目录的意思,主要用于切换工作目录到指定目录. 假设当前处于wintest用户的主目录,路径为 /home/wintest ,存在文 ...
- zookeeper的客户端应用
什么zookeeper? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供 ...
- 【POJ - 1995】Raising Modulo Numbers(快速幂)
-->Raising Modulo Numbers Descriptions: 题目一大堆,真没什么用,大致题意 Z M H A1 B1 A2 B2 A3 B3 ......... AH ...
- yum只下载不安装软件包
一.通过yum自带的工具yumdownloader [root@host---- interpreter]# rpm -ql yum-utils package yum-utils is not in ...
- 个人永久性免费-Excel催化剂功能第99波-手机号码归属地批量查询
高潮过往趋于平静,送上简单的手机号码归属地查询,因接口有数量限制,仅能满足少量数据需求,如有大规模数据却又想免费获得,这就成为无解了,数据有价,且用且珍惜. 业务使用场景 除了日常自带的手机各种管家为 ...
- ASP.NET Core MVC 之视图(Views)
ASP.NET Core MVC 控制器可以使用视图返回格式化的结果. 1.什么是视图 在 MVC 中,视图封装了用户与应用交互呈现细节.视图是具有生成要发送到客户端内容的,包含嵌入代码的HTML模板 ...
- Vue的基本使用(三)
1.过滤器 1.局部过滤器,在当前组件内部使用过滤器,给某些数据添油加醋. //声明 filters:{ "过滤器的名字":function(val,a,b){ //a就是alex ...