RF之简介
robot framework 是一个通用型的自动测试框架
- 自动测试用例的实现方式
- 自动测试用例的开发支持 : IDE、库
- 和用例管理系统的集成
- 测试执行:相关测试套件和测试用例的执行规则;初始化和清除;测试报告。
测试数据文件对应一个个的测试用例,测试数据文件里使用的功能小模块叫关键字,由测试库实现。
robot framework加载测试库,并解释执行Test Data也是测试用例。
以关键字的形式来开发测试用例:
- 标准库提供了常用功能
- 第三方扩展库
- 开发者根据产品自行开发库:自动化框架、库开发者;自动化用例开发者。
测试库:
RF有自带的测试库,实现最核心、最常用的功能。比如:检查点判断、循环、判断逻辑、获取时间等
也有第三方开发好的库,比如:我们要测试web应用,就有。
也有我们自己开发的,比如:要测试web api ,如果无第三方现成的,就自己开发
robot framework加载测试库并解释执行测试用例:
特点是:
- 提供简单易懂的表格式的‘语言’来开发自动测试用例
- 它的标准库提供了常用功能,以关键字keyword的形式来开发测试用例
关键字是RF开发的核心,关键字就指定了测试的一个个基本动作
- 开发人员划分
- 它定义灵活且易理解的测试用例执行控制,包括执行哪些用例,如何在执行用例前后进行初始化和清除环境
- 它可以方便挑选要执行的用例和套件(名称、标签过滤)
- 它有清晰的日志和报表功能
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安装:
RF使用python开发的框架,以python库的形式安装
首先要确保python安装好,并且可执行目录(包含python和scripts的两个目录)都在path环境变量里面
RF支持python2和python3,和python3.6以后的版本
① 因为安装包是放在pypi仓库中,所以直接:pip install robotframework
② seleniumlibrary的安装:也叫seleniumlibrary的RF扩展库 pip install --upgrade robotframework-seleniumlibrary
③ pycharm的robot 用例标记插件的安装:推荐使用pycharm插件Intellibot,能够高亮显示各种语法
怎么安装?-》file--settings--plugins进去设置 安装IntelliBo和IntelliBot@SeleniumLibrary Patched
ride不推荐安装,原因是:ride编辑器只支持Python2
④ *注意点* :以前做selenium自动化时,selenium需要知道webdriver程序的路径。而现在我们导入的seleniumLibrary里面是没有指定路径的,因此解决办法是:在path环境变量里添加chromedriver的地址
如果在星星用例时,报path路径错误,建议可以把chromedriver.exe放到项目的根目录下
⑤ 测试用例执行:点击Terminal ,在里面输入 robot t1.robot,执行后会有输出、日志、报告。
实例:
*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
百度搜索robot framework
Open Browser http://www.baidu.com chrome
Set Selenium Implicit Wait 5
Input Text id=kw robot framework
${firstRet}= Get Text id=1
Should Contain ${firstRet} Robot Framework
解释说明:这里包含了两种表Settings表和 Test Cases表;另外还有两个表 Variables表和Keywords表。
关键字其实就是对应了python或java里面的一个函数调用,实现一个基本的功能。
Open Browser ---- 打开浏览器 Set Selenium Implicit Wait ---- 设置浏览器等待时间
Input Text ---- 向文本框输入值 Should Contain ---- 验证是否包含
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
学会看关键字文档:可以链接到robotframework.org/SeleniumLibrary/SeleniumLibrary.html
SeleniumLibrary库:第三方开发者为RF专门开发了一个库,提供RF用例里面使用的关键字,可以自动化web操作。
SeleniumLibrary库也是基于Selenium的,它封装了Selenium操作到一些关键字中。
用法:在RF测试中,使用SeleniumLibrary,首先要使用该Library设置将库导入为任何其他库,该库接受一些导入时间参数。如: Library SeleniumLibrary
RF----常用关键字:
关闭浏览器 close Browser 或close All Browsers
浏览器最大化 Maximize Browser Window
设置浏览器窗口 宽、高 Set Window Size 800 600
点击元素 Click Element xpath=//*[@]
点击按钮 Click Button xpath=//*[@]
等待元素出现 Wait Unit Page Contains Element xpath=//*[@] 42 error
获取title Get Title
获取文本 Get Text xpath=//*[@] xxxx
获取元素属性值 Get Element Attribute id=kw@name
cookie处理:get cookies 获得当前浏览器的所有cookie
get cookie value Key_name --------- 获得cookie值,key_name表示一堆cookie中的key的name
add cookie Key_name Value_name ---------- 添加一对cookie
delete cookie Key_name ------------ 删除key为name的cookie信息
delete all cookies ----------- 删除电气概念浏览器所有的cookie
表单嵌套:Select Frame xpath=//*[@] ---------- 进入表单
Unselect Frame ----------- 退出表单
下拉框选择:Unselect From List By Value xpath=//*[@] value
注意:xpath=//*[@] 定位下拉框;value是选中下拉框里的属性值
执行javascript:Execute JavaScript ${"tootip"}.fadeOut()
RF之简介的更多相关文章
- 网络教程(2)光纤和RF编码简介
光纤: 想象一个symbol是light off 另一个是light on 另一种传输信息的方式using radio waves(无线电波: 这个router 内部以很高的频率变换电压 (例如2.4 ...
- CC2530 light_switch分析
一些关键字: CCM - Counter with CBC-MAC (mode ofoperation) HAL - HardwareAbstraction Layer (硬件抽象层) ...
- RF常用库简介(robotframework)
标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...
- Nutch搜索引擎(第1期)_ Nutch简介及安装
1.Nutch简介 Nutch是一个由Java实现的,开放源代码(open-source)的web搜索引擎.主要用于收集网页数据,然后对其进行分析,建立索引,以提供相应的接口来对其网页数据进行查询的一 ...
- canvas简介
一.canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 <canvas></canvas> 英 ['kænvəs] 美 ['kænvəs] 帆 ...
- YUM源的简介,配置与使用
A.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的 ...
- 使用 robotframework 自动化测试系列 一 -----简介
robotframework 是自动化测试框架. Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可 ...
- python学习笔记系列----(一)python简介
一个月前,就按下决心要系统的学习下python了,虽然之前有学习过java,学习过c++,也能较为熟练的使用java做自动化测试看懂c++里的业务逻辑,但是实际上有那么多的东西自己还是不清楚,今天下定 ...
- CC2540开发板学习笔记(九)—— BLE协议简介
一.BLE协议简介 1.协议是什么? 协议是一系列的通信标准,双方需要共同按照这进行正常数据 协议是一系列的通信标准,双方需要共同按照这进行正常数据发射和 接收.协议栈是的具体实现形式,通俗点来理解就 ...
随机推荐
- 02 JavaScript数据类型、类型转换、注释
JavaScript 数据类型 JavaScript 变量能够保存多种数据类型:数值.字符串值.数组.对象.undefined.null等等 var length = 7; // 数字 var las ...
- 实战webpack系列说明
01.概念股 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler). 当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(d ...
- java程序员面试答题技巧
答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要,展现自己的心得) 答案的段落分别,层次分明,条理清晰都非常重要,从这些表面的东西也可以看出一个人的 习惯.办事风格.条理等. 要讲你做出答 ...
- c堆排序
#include<stdio.h> #include<stdlib.h> /* p是循环输出的下表*/ ; /*堆调整算法*/ /* r[]数组 , 根结点的编号为k,最后一个 ...
- Mysql密码忘记怎么修改?
做开发的过程中多少会用到MySQL数据库,所以忘记密码也就成为一些马虎的同学的家常便饭了,今天发布一个忘记MySQL密码如何修改的文章作为记录. 1>首先将MySQL的服务关闭,两种方法:1,打 ...
- Spring Cloud第三篇 | 搭建高可用Eureka注册中心
本文是Spring Cloud专栏的第三篇文章,了解前两篇文章内容有助于更好的理解后面文章: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...
- ASCII, Unicode, UTF-8
(本文参考:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html) 1. ASCII码 我们知道,在计算机内部,所有的 ...
- pop 与 popitem
pop给出一个键弹出值 popitem弹出一个项 >>> a.pop(2)'two'>>> a{1: 'one', 3: 'three', 4: 'four'}&g ...
- Java修炼——String类_常用方法_常量池
String类的定义:String 是不可变字符序列 String 类的常用方法(全部都是不能改变String本身的值,都是在常量池里输出,没有改变其值) String string="ab ...
- 60%的人不懂Python进程Process,你懂吗?
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:蒋狗 新手注意:如果你Python基础学的不够扎实,遇问题没人解答 ...