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之简介的更多相关文章

  1. 网络教程(2)光纤和RF编码简介

    光纤: 想象一个symbol是light off 另一个是light on 另一种传输信息的方式using radio waves(无线电波: 这个router 内部以很高的频率变换电压 (例如2.4 ...

  2. CC2530 light_switch分析

    一些关键字: CCM  - Counter with CBC-MAC (mode ofoperation) HAL   - HardwareAbstraction Layer      (硬件抽象层) ...

  3. RF常用库简介(robotframework)

    标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...

  4. Nutch搜索引擎(第1期)_ Nutch简介及安装

    1.Nutch简介 Nutch是一个由Java实现的,开放源代码(open-source)的web搜索引擎.主要用于收集网页数据,然后对其进行分析,建立索引,以提供相应的接口来对其网页数据进行查询的一 ...

  5. canvas简介

    一.canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 <canvas></canvas> 英 ['kænvəs] 美 ['kænvəs] 帆 ...

  6. YUM源的简介,配置与使用

    A.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的 ...

  7. 使用 robotframework 自动化测试系列 一 -----简介

    robotframework 是自动化测试框架. Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可 ...

  8. python学习笔记系列----(一)python简介

    一个月前,就按下决心要系统的学习下python了,虽然之前有学习过java,学习过c++,也能较为熟练的使用java做自动化测试看懂c++里的业务逻辑,但是实际上有那么多的东西自己还是不清楚,今天下定 ...

  9. CC2540开发板学习笔记(九)—— BLE协议简介

    一.BLE协议简介 1.协议是什么? 协议是一系列的通信标准,双方需要共同按照这进行正常数据 协议是一系列的通信标准,双方需要共同按照这进行正常数据发射和 接收.协议栈是的具体实现形式,通俗点来理解就 ...

随机推荐

  1. LESSON 1-Introduction

    Keywords: Communication system, Channel model, Channel capacity by Shannon 1. Two fundamental archit ...

  2. 跨平台c开发库tbox:内存库使用详解

    TBOX是一个用c语言实现的跨平台开发库. 针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用 ...

  3. NIO-Buffeer

    目录 NIO-Buffeer 目录 什么是Buffer 缓冲区类型 缓冲区存储类型 字节存放顺序 Buffer使用 Buffer ByteBuffer 总结 相关文献 NIO-Buffeer 目录 N ...

  4. springboot+微信小程序实现微信支付【统一下单】

    说明: 1)微信支付必须有营业执照才可以申请 2)微信支付官方api是全套的,我这是抽取其中的统一下单api,做了一个简单的封装 首先看看微信支付 商户系统和微信支付系统主要交互: 1.小程序内调用登 ...

  5. WPF最简单的分页控件

    背景:最近在写项目的时候需要写一个简单的分页功能,因项目需要,没有改为MVVM模式,只需要在后台实现 1.呈现效果如下: 接下来就来上代码,看看怎么实现的 1.界面代码 <StackPanel ...

  6. 性能达到原生 MySQL 七倍,华为云 Taurus 技术解读【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  7. 基于webpack实现多html页面开发框架四 自动写入多入口,自动插入多个htmlWebpackPlugin插件

    一.解决什么问题      1.手写页面多入口,一个一个输入太麻烦,通过代码实现      2.手写多个htmlWebpackPlugin插件太麻烦,通过代码实现 二.多入口代码实现 //读取所有.j ...

  8. luogu P1807 最长路_NOI导刊2010提高(07)

    题目描述 设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i < j.设w(i,j)为边的长度,请设计算法,计算图G中<1,n>间的最长路径. 输入格式 ...

  9. luogu P1566 加等式

    题目描述 对于一个整数集合,我们定义"加等式"如下:集合中的某一个元素可以表示成集合内其他元素之和.如集合{1,2,3}中就有一个加等式:3=1+2,而且3=1+2 和3=2+1是 ...

  10. JSSDK制作思路

    需求:对外提供一个js的SDK.相当于在原有的原生SDK基础上包装一层方法. SDK原生的方法通过JSExport 协议可以让js调用到原生的方法.你可以写一个协议继承JSExport ,将需要对js ...