基于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 3338:Kakuro Extension(脑洞大开的网络流)
http://acm.hdu.edu.cn/showproblem.php?pid=3338 题意:在一个n*m的地图里面,有黑方块和白方块,黑方块可能是“XXXXXXX”或者“YYY/YYY”,这里 ...
- springboot简单入门笔记
一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...
- ASP.NET Core[源码分析篇] - Startup
应用启动的重要类 - Startup 在ASP.NET Core - 从Program和Startup开始这篇文章里面,我们知道了Startup这个类的重要性,它主要负责了: 配置应用需要的服务(服务 ...
- 2019年7月19日 - LeetCode0001
https://leetcode-cn.com/problems/two-sum/ 我的方法: class Solution { public int[] twoSum(int[] nums, int ...
- Git学习(一):版本控制介绍及安装
一.VCS(版本控制系统)的演变 1.集中式VCS的特点 1)有集中的版本管理服务器: 2)具备文件版本管理和分支管理能力: 3)集成效率较没有版本控制(如:进行文件夹标注的方式)有明显地的提高: 4 ...
- 《PHP从入门到精通(第3版)》目录
一.基础知识 1.初识PHP 2.PHP环境搭建和开发工具 3.PHP语言基础 4.流程控制语句 5.字符串操作 6.正则表达式 7.PHP数组 8.PHP与Web页面交互 9.PHP与JavaScr ...
- 小白学python-day05-IDE、格式化输出、For While循环、断点、continue、break
今天是day05,以下是学习总结. 但行努力,莫问前程. ----------------------------------------------------------------------- ...
- 分享一个 Linux 环境下,强力的Python 小工具
场景 Linux 用户,经常需要在终端查看一些数据,从文件里看 或者网络协议获取数据并查看. 比如,查看文件里的json数据:比如,查看etcd里存下的数据. 如果直接看cat 或者 curl 得到的 ...
- linux初学者-虚拟机联网篇
linux初学者-虚拟机联网篇 在虚拟机的使用过程中,本机可以连接WIFI直接上网,但是有时候需要用到虚拟机的联网,那么在本机联网的情况下,虚拟机怎么联网呢?接下来将介绍如何在本机已经连接到WIFI的 ...
- java练习---1
//程序员:罗元昊 2017.9.6public class Ap{ public static void main(String[] args){ System.out.println(" ...