基于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 的下载地址都可百度到 环境搭 ...
随机推荐
- 2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D:Distribution in Metagonia(构造)
http://codeforces.com/gym/100801/attachments 题意:给出一个数n(1 <= n <= 1e18),将 n 拆成 m 个整数,其中 m 必须是 2 ...
- c#中bin,obj,properties文件夹的作用
Bin 目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/R ...
- 从零开始认识Dubbo
目录 1.Dubbo是什么 2.Dubbo能做什么 3.Dubbo架构 4.Dubbo的使用方法 5.使用Dubbo可能遇到的问题 1.Dubbo是什么 http://dubbo.apache.org ...
- CSingleLock
CSingleLock通常和CCriticalSection配合使用.总结这种用法
- canvas制作表单验证码
canvas是个非常强大的组件,网页上的验证码一般都是用服务器语言制作出来的 canvas同样是可以实现这个功能的 下面请观看效果图: 步骤呢其实也很简单 HTML部分: <form actio ...
- Java多线程(七):ReentrantLock
加锁和解锁 我们来看下ReentrantLock的基本用法 ThreadDomain35类 public class ThreadDomain35 { private Lock lock = new ...
- 微信小程序开发--页面之间的跳转
一.navigator--完成页面之间的跳转 1.新建一个页面文件夹 2.在app.json文件中引入页面 "pages": [ "pages/index/index&q ...
- 什么是icmp协议?
英文原义:Internet Control Message Protocol 中文释义:(RFC-792)Internet控制消息协议 定义: ICMP协议是一种面向无连接的协议,用于传输出 ...
- SpringBoot2.1.6 + Shiro1.4.1 + Thymeleaf + Jpa整合练习
首先,添加maven依赖,完整的pom文件如下: <?xml version="1.0" encoding="UTF-8"?> <projec ...
- linux初学者-输出输入管理
1.输出重定向 在linux中,因为用户的权限不同,所以访问某些文件或者目录会被拒绝而形成错误输出,这些错误的输出也会显示出来.一般正确输出的编号为1,错误输出的编号为2.如下图,在普通用户stu ...