基于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 的下载地址都可百度到 环境搭 ...
随机推荐
- HDU 1724:Ellipse(自适应辛普森积分)
题目链接 题意 给出一个椭圆,问一个[l, r] 区间(蓝色区域)的面积是多少. 思路 自适应辛普森积分 具体一些分析如上. 很方便,套上公式就可以用了. 注意 eps 的取值影响了跑的时间,因为决定 ...
- POI 设置Excel单元格背景色(setFillForegroundColor)
背景介绍:使用Java开发信息系统项目,项目中往往会涉及到报表管理部分,而Excel表格首当其冲称为最合适的选择,但是对单元格操作时对于设置单元格的背景颜色却很少提及,本文旨在方便单元格背景颜色设计. ...
- ReentrantLock源码的一点总结
ReentrantLock 是可重入锁,可重入锁的意思就是同一个线程可以重复获得该锁. 如何做到可重复获得该锁?计数器实现. 第一次加锁,cas比较是不是0,是0设置为1,并设置当前拥有锁的线程: 第 ...
- [最全算法总结]我是如何将递归算法的复杂度优化到O(1)的
相信提到斐波那契数列,大家都不陌生,这个是在我们学习 C/C++ 的过程中必然会接触到的一个问题,而作为一个经典的求解模型,我们怎么能少的了去研究这个模型呢?笔者在不断地学习和思考过程中,发现了这类经 ...
- Redis 使用C#程序操作Redis
一.安装操作所需Nuget包 二.写入 redis只是按Key值设置过期时间,不是对value内部的某些值设过期 2.1 string类型 /// <summary> /// 向Redis ...
- 学习4:总结# 1.列表 # 2.元祖 # 3.range
列表 -- list 有序,可变的,索引, 作用:存储数据的,支持很多种数据类型 定义方式: lst = [1,"alex","黑哥"] 增: append 追 ...
- 【最短路径之dijkstra(迪杰斯特拉)算法】
这一章主要介绍最短路径的算法之一,dijkstra算法. 概念 :迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法.是从一个顶点到其余各顶点 ...
- samrt210开发板ping-系列问题(开发板ping通主机,主机ping通虚拟机,唯独~开发板ping不通虚拟机)
硬件:PC机.虚拟机(Linux).开发板(smart210) 常用模型: 注:1).有线网卡与无线网不可同连一个路由器,不可在同网段: 2).vmware选择桥接模式,虚拟网络适配器选定具体的网卡名 ...
- Mysql常用增删查改及入门(二)
常用:数据库常用就是DML:增删查改 1.增加数据: insert into 表名 values (值1,值2...); insert into 表名 (字段1,字段2) values (值1,值2) ...
- SpringBoot2.x 整合Spring-Session实现Session共享
SpringBoot2.x 整合Spring-Session实现Session共享 1.前言 发展至今,已经很少还存在单服务的应用架构,不说都使用分布式架构部署, 至少也是多点高可用服务.在多个服务器 ...