RF自动化测试
1.自动化分层:UI层实现界面自动化,Service层实现接口自动化,Unit层实现单元测试.
2.UI自动化测试常见的工具有:QTP,AutoIt,Selenium.Selenium是做Web测试最全面的工具支持浏览器全面,又模拟在浏览器中的操作.
3.单元测试全覆盖,接口测试覆盖大部分流程,界面自动化保证主流程即可
4.RF是通用的测试框架:采用表格语法易使用;可使用关键字驱动,数据驱动和行为驱动;可利用现有关键字组合新关键字;可用Python或Java扩展;
5.安装Python27,Setuptools,RF,wxPython,RF-RIDE
6.New Project-->New Test Suite-->New Test Case
7.Report主要是概括性的报告,总体案例的执行情况.Log则是更为详细的案例步骤报告.
8.Sava保存当前焦点所在文件,Save All保存全部
9.F5:Search Keywords
10.Library加载测试库,默认Python\Lib\site-packages目录下的文件;Resource加载资源,主要是工程相关的资源文件;Variables加载变量文件;Add Scalar定义变量;Add List定义列表型变量.
11.Suite Setup测试套件的初始化文件,Suite Teardown测试套件的收尾文件;Test Setup测试用例初始化,Test Teardown测试用例收尾
12.Project和Suite:二者都可建User Keyword, Scalar, List Variable.Project可建Suite, Directory, Resource;Suite可建Test Case
13.Suite前面多*表示有修改尚未保存
14.Project和最顶层的Test Suite是相通的,可是File也可是Directory.目录型的Test Suite可包含File型的Test Suite或嵌套Directory型的Test Suite.但Test Case只能在File Test Suite下
15.通常Test Suite里添加Resource, Resource中添加Library
16.Import中的Library是红色的说明导入失败,黑色表示导入成功
17.RF内置库在Python\Lib\site-packages\robot\libraries目录中
18.Resource主要用来存放用户关键字,Resource下添加User Keyword
19.External Resource主要指还在Project管辖范围的Resource文件
20.变量:${Var}单个变量,@{listVar}List型变量,&{dictVar}是RF2.9的Dictionary变量
21.Set Global Variable:设定全局变量,该变量在所有的Test Suite和Test Case中都有效;Set Suite Variable:设定File Suite级变量,该变量只在当前的File Suite内有效;Set Test Variable:设定Case级变量,只在当前Case有效
22.环境变量的标识符为%, eg: log %{PATH},RF中只能使用环境变量,不能修改
23.特殊字符串常量:${/},${:},${EMPTY},,${False},${None},${null},${SPACE},${True}
24.RF中的变量都是字符串型的,字符串拼接不需要用+连接,abcd${var}efgh==abcdABCDefgh
25.创建Scalar变量:${var} Set Variable 'ABCD';创建List变量:@{listVar} Create List 1 2 3
26.Run Keyword If '${var}'=='ABCD' log 'HAHAHAHA'
27.变量支持索引和截取:${var[2]}或${var[0:2]}
28.Evaluate将后面的表达式放在python中运行
29.List型变量的获取:@{listVar}[index]或${listVar[index]}
30.对象变量:假设${return}是Request库中测试接口返回的对象,对象状态就是${return.STATUS},对象内容就是${return.CONTENT}
31分支:
Run Keyword If con1 do action1
... ELSE IF con2 do action2(...是必须的)
... ELSE do actionN
32.RF标准库:
Builtin,Collections(处理Python字典和列表), OperatingSystem(操作系统相关), String(字符串处理), XML, DateTime(日期时间转换), Telnet, Process, Screenshot, Remote(远程库)
常用第三方库:
Selenium2Library, HTTPLibrary, SSHLibrary, FTPLibrary, requestLibrary, DatabaseLibrary, cx_Oracle, PyMysql, JSONLibrary
log ${var}
log many @{listVar}
RF自动化测试的更多相关文章
- 多测师讲解RF自动化测试实现流程_高级讲师肖sir
1.环境搭建过程?整套环境需要哪些工具包,以及工具包的作用?因为我搭建的RF框架是基于Python的,所以肯定要先安装Python,python安装完之后,开始安装自动化测试框架rf3.0-在do ...
- Robot Framework--11 RF结合Jenkins
转自:http://blog.csdn.net/tulituqi/article/details/17846463 为什么我们要引入RF?其实最初我们引入RF是为了能够快速的开展自动化验收测试,为敏捷 ...
- RF+Jenkins构建持续集成
引入RF是为了能够快速的开展自动化验收测试,Jenkins而一种持续集成工具,用于监控持续重复的工作,持续的软件版本发布/测试项目,而通过RF+Jenkins可以有利的对RF构建的接口项目进行持续集成 ...
- RobotFrameWork Web自动化测试环境搭建
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收 ...
- jenkins与rebotframework搭配
一.下载Jenkins 下载地址:http://mirrors.jenkins-ci.org/ 贫道比较推荐下载war包的,进入上面的地址,页面里有war的链接,各种类型各种版本的release,大家 ...
- Jenkins Robot framework 持续集成环境搭建
为什么我们要引入RF?其实最初我们引入RF是为了能够快速的开展自动化验收测试,为敏捷保驾护航.这其中有个重要的工具Jenkins,同时也是应群里朋友们的要求,这次就来介绍一下RF如何快速便捷的结合Je ...
- 基于Python3.7 Robot Framework自动化框架搭建
一.Robot Framework 和 Selenium 的区别(面试常问) 主流自动化测试框架有Robot Framework 和 Selenium,请根据实际场景选用不同的框架,以下总结各自优缺点 ...
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- 安卓自动化测试——rf
${a} Get Text //android.widget.TextView[contains(@text,"历史位置")]/../../../android.widget.Li ...
随机推荐
- Excel组合图表快速制作小功能
1. 选中数据区域,插入推荐的图表 2. 然后可以选择快速布局小工具进行布局微调 选中图表 -> 设计(菜单) -> 快速布局(左边) 个人特别喜欢带表格的那个组合图布局,清晰好看
- tomcat Server启动带profile文件
一般mvn如果配置有环境,直接在tomcat server中无法直接启动,需要在vm或者tomcat启动中添加profile启动. pom.xml中添加: 在<profile>中添加默认p ...
- MySql:SELECT 语句(六) CONCAT() 函数的使用
一.计算字段 为什么要用计算字段? 1)想要在一个字段中既显示公司地址,又显示公司名称,但是往往这两个都不在一个字段中 2)列数据是大小写混合的,但是报表程序需要把他们全部按大写形式展示出来 3)需要 ...
- sublime_text3代码自动补全
因为项目需要用sublime_text3编辑器,安装之后代码自动补全功能没有,这比较苦恼. 其实蛮简单的 英文界面:menu->Preferences->Setting-User-> ...
- js一行代码解决各种IE兼容问题
在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实 IE给出了解决方案 Google也给出了解决方案 百度也应用了这种方案去解决IE的兼容问题 百度源代码如下 <!Doctype html ...
- 使用拦截器对前端传入的字符串进行trim操作
@Before("apiItf()") public void before(JoinPoint joinPoint) throws Exception { Object[] ar ...
- 2、数据结构 proxy 代理 reflect 反射
增删改查 1.set (数组) 2.map (对象 key value) 数据结构横向对比 map.set('t',1) arr.push({t:1}) set.add({t:1}) arr.push ...
- [转] ADO.NET调用存储过程带输出参数或返回值
CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(), @studentname nvarchar() OUTPUT AS BEGIN S ...
- java itext替换PDF中的文本
itext没有提供直接替换PDF文本的接口,我们可以通过在原有的文本区域覆盖一个遮挡层,再在上面加上文本来实现. 所需jar包: 1.先在PDF需要替换的位置覆盖一个白色遮挡层(颜色可根据PDF文字背 ...
- CCS 6新建文件自动生成注释
对于CCS6,可以通过配置,达到新建源文件或者头文件时,自动生成适当的注释: 一.新建源文件自动生成配置. 在某个文件夹下右击选择 New - Source File. 点击 Configure,再选 ...