RF01 RF环境搭建及简介
目录
- 一、RF安装
- 1.1 Ride安装
- 1.2 eclipse安装
- 二、RF简介
- 2.1 Robot Framework特点
- 2.2 RF中四大组件
- 2.2.1 *** Settings ***
- 2.2.2.1 Librarys
- 2.2.1.2 Resources
- 2.2.1.3 Variables
- 2.3.6 TestCases/TestSuite
- 2.2.2 *** Variables ***
- 2.2.3 *** Keywords ***
- 2.2.4 *** Test Cases ***
- 2.2.1 *** Settings ***
- 2.3 RF常见标识
一、RF安装
1.1 Ride安装
- 安装Python2.7,配置好环境变量
- 安装wxPython 2.8.12.1 (目前只有这个版本是官方支持的),一键式安装
- 安装ride,下载安装包后,解压后使用python setup.py install安装
- 安装RF,下载安装包后,解压使用python setup.py install安装
- 安装完成后,在scripts文件夹下,使用python ride.py即可运行
1.2 eclipse安装
- 安装eclipse、python2.7,配置好环境变量
- 配置python编译器(这一步可以不用配置)
- 下载PyDev(下载地址)。将下载文件解压,将features和plugins中的文件分别拷贝至eclipse安装目录下的features和plugins目录下。
- 打开eclipse,选择windows->references->PyDev,选择本地的python2.7.exe
配置eclipse应用于RF的插件(这一步也可以不用配置)
安装RED插件(有两种方法)
打开eclipse,选择Help->Install New SoftWare->Add,在弹出窗口中Name填写:RobotFramework-EclipseIDE,URL填写:http://sourceforge.net/projects/robotide/files/stable/ ,点击ok,后根据提示操作,安装完成后重启eclipse
下载RED_feature,打开ECLIPSE,选择Help->Install New SoftWare->Add,点击弹出框的Archive…按钮,选择本地下载好的RED的zip包,安装完成后重启即可
注意:重启后eclipse显示的是java视图,为方便后续操作,须将其更改为robot视图,修改方法为:Windows->Perspective->Open Perspective->Other。在弹出窗口选择Robot
- 选择windows->references->Editors->File Associations,在File types选择*.txt,在Associated editors选择RobotFramework-EclipseIDE,点击Associated editors的default,设置txt默认打开方式为RobotFramework-EclipseIDE
- 任意创建一个txt格式的文件,默认的编辑器均为RobotFramework-EclipseIDE
- 安装RF:pip install RobotFramework
- eclipse其他设置
- 编码设置:indows->references->workspace,在Text file encoding中选择utf-8
- 自动提示设置:windows - preference - RobotFramework - Editor - Content Assitant
加上如下内容:.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@&*:[
二、RF简介
RF全称Robot Framework,是一款python编写的功能自动化框架。具备良好的可扩展性、支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。
2.1 Robot Framework特点
- 开源,基于Python2.7开发(暂时不支持python3)
- 具有丰富的第三方库,支持UI、API、IOS以及Android
- 编写用例简单、方便,可以用txt,tsv或者html等格式编写用例
- 支持关键字驱动,数据驱动和行为驱动
- 利用已有关键字,测试人员可以创建自己的关键字,形成更高级的行为
- 可以像编程一样写测试用例、支持变量使用、可以使用IF语句和FOR循环语句
- 支持集成svn、git以及jenkins等工具
- 灵活、可扩展(可自己扩展测试库)
2.2 RF中四大组件
在RF中,比较常用的有Settings、Variables、Keywords和Test Cases。这其中每一个部分都有各自的作用:
2.2.1 *** Settings ***
- 包括导入库(Library)、导入资源(Resource)、导入变量(Variables)文件、设置setup和teardown等。RF导入第三方库写在*** Settings ***下,案例如下:
2.2.2.1 Librarys
库: 相当于python中的模块,是系统关键字的集合。可以分为RF标准库、第三方库和自定义库。
*** Settings ***
Library SeleniumLibrary
RF标准库 | 第三方库 | 自定义库 |
---|---|---|
这类库不需要安装,直接导入就可以使用 | 需要anzhuangku以及依赖库,需要导入之后才能使用关键字 | 需要先开发python模块及其函数,之后安装导入后才能使用该关键字 |
① RF标准库
1. Builtin: 包含经常需要的关键字。自动导入,无序import
2. Dialogs: 提供了暂停测试执行和从用户的输入方式
3. Collections: 提供一组关键词处理Python列表和字典
4. OperatingSystem: 允许执行各种操作系统相关的任务。允许执行各种操作系统相关的任务,是各种操作系统相关的任务在RF正在运行的系统中执行
5. Remote: 远程接口的一部分。没有自己的任何关键字,作为RF和测试库之间的代理,实际测试库可以在不同的机器上运行,可以使用任何编程语言支持XML-RPC协议的实现
6. Screenshot: 提供关键字捕获 和存储桌面的截图
7. String: 用于处理字符串并验证他们内容的库,用于生成、修改和验证字符串
8. Telnet: 支持链接到Telnet服务器上打开的连接执行命令
9. XML: 用于生成、修改和验证XML文件的库
10. Process: 系统中运行过程的库
11. Date Time: 日期和时间转换的库,支持创建和验证日期和时间值以及他们之间的计算
② 第三方库
1. web自动化库: SeleniumLibrary、Selenium2Library、Selenium2Library for Java、waitir-robot等
2. windows GUI测试: AutoltLibrary
3. 移动测试: Android library、IOS library、Appium library等
4. 数据库测试: Database Library(Java)、Database Library(Python)、MongoDB library等
5. 文件对比测试: Diff Library
6. HTTP测试: HTTP library(invest)、HTTP library(Requests)等
2.2.1.2 Resources
- 用户关键字的集合,用来对用户关键字进行管理,相当于用户用python自己编写的类
登录首页关键字
*** Settings ***
Library SeleniumLibrary*** Variables ***
${用户名输入框} //*[@id="loginname"]
${密码输入框} //*[@id="pl_login_form"]/div/div[3]/div[2]/div/input
${登陆按钮} //*[@id="pl_login_form"]/div/div[3]/div[6]/a
${登陆失败-提示信息框-非中间} //*[@id="layer_15254979692111"]/div/p
${登陆成功页面元素} //*[@id="v6_pl_rightmod_myinfo"]/div/div/div[2]/div/a[1]*** Keywords ***
登陆[Arguments] ${url} ${username} ${pwd}SeleniumLibrary.Open Browser ${url} chromeBuiltIn.Comment comBuiltIn.Sleep 10SeleniumLibrary.Maximize Browser WindowSeleniumLibrary.Wait Until Element Is Visible ${用户名输入框} 50SeleniumLibrary.Input Text ${用户名输入框} ${username}SeleniumLibrary.Input Text ${密码输入框} ${pwd}SeleniumLibrary.Click Element ${登陆按钮}SeleniumLibrary.Wait Until Element Is Visible ${登陆成功页面元素} 50
测试用例中调用登录首页关键字
*** Settings ***
Library SeleniumLibrary Resource ../用户关键字/登陆页面.robot
Resource ../测试数据/登录测试数据.robot
Force Tags login
Test Teardown SeleniumLibrary.Close Browser*** Test Cases ***
登陆新浪微博——成功用例[Tags] smoke登陆页面.登陆 ${测试环境地址} ${正确的登录名} ${正确的密码}
2.2.1.3 Variables
- 导入变量,可以是RF中定义的变量文件,也可以是python中定义好的变量
2.3.6 TestCases/TestSuite
2.2.2 *** Variables ***
- RF中自定义变量都在Variables下定义,案例如下:
*** Variables ***
${用户名输入框} //*[@id="loginname"]
${密码输入框} //*[@id="pl_login_form"]/div/div[3]/div[2]/div/input
${登陆按钮} //*[@id="pl_login_form"]/div/div[3]/div[6]/a
2.2.3 *** Keywords ***
- 提供特定功能的函数,包括系统关键字和用户关键字。关键字中的空格就是函数名称中的下划线。查找关键字可以按F5或者点击菜单栏为”K”的按钮。使用关键字时,如果显示关键字为蓝色,表示关键字存在并且可以正常使用,如果关键字为黑色,表示关键字不能正常使用
*** Keywords ***
登陆[Arguments] ${url} ${username} ${pwd}SeleniumLibrary.Open Browser ${url} chromeSeleniumLibrary.Wait Until Element Is Visible ${用户名输入框} SeleniumLibrary.Input Text ${用户名输入框} ${username}SeleniumLibrary.Input Text ${密码输入框} ${pwd}SeleniumLibrary.Click Element ${登陆按钮}
2.2.4 *** Test Cases ***
- RF中用户的测试用例都放在Test Case中
*** Test Cases ***
登陆新浪微博——成功用例[Tags] smoke登陆页面.登陆 ${测试环境地址} ${正确的登录名} ${正确的密码}
2.3 RF常见标识
- [Arguments] :参数
- [Return] :返回值
- [Documents]:关键字说明
- [Tag]:用例标签
- [Setup]:用例标签
- [Teardown]:用例标签
RF01 RF环境搭建及简介相关推荐
- vue路由无痕浏览nodeJS环境搭建ElementUI简介
目录 一.vue路由&无痕浏览 1. SPA是什么 2. SPA实现思路和技术点 ①技术点 ②思路 3. 通过vue的路由可实现多视图的单页Web应用(基于html的SPA) 4. route ...
- python sympy安装_SymPy (A) 环境搭建与简介
SymPy简介:符号计算包 symbolical python, sympy的便携仅依赖于 第三方包mpmath. 学习途径(穷即正义系列)官网 https://sympy.org Mannual D ...
- python3.6+RF环境搭建
现在大家都在用python3了,利用这个机会正好把自己的练习重新整理一遍,本篇记录用python3.6重新搭建关键字驱动环境 目录 1.安装python3.6 2.安装wxPython 3.安装rob ...
- Homestead环境搭建及简介
Laravel开发环境,建议用Homestead环境来搭建. 我的理由是Linux环境,放到生产环境,不容易产生问题,比如防止大小写问题.当然,如果你生产环境本身也用windows里,也可以用AppS ...
- 【菠萝狗四足机器人】二次开发教程--第一章 【简介与开发环境搭建】
Py-apple Dynamics 简介与开发环境搭建 1 简介 1.1 何为 菠萝狗 和 Py-Apple Dynamics 1.2 目前支持的功能 2 开发环境搭建 2.1 硬件的搭建 2.1 软 ...
- 自动化测试RF+Selenium环境搭建
Robot Framework 什么是RF 本文指的自动化测试技术,基于selenium来实现自动化功能测试,而Robot Framework,简称RF,就是基于Python+Selenium来实现的 ...
- Python学习--环境搭建
Python学习入门–环境搭建 Python简介 在进行Python环境搭建之前 ,先简单的介绍一下Python这门语言. Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido ...
- 从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建
从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建 本文简介 为什么使用Spring Boot 搭建怎样一个环境 开发环境 导入快速启动 ...
- LVGL WIN32模拟器环境搭建
LVGL WIN32模拟器环境搭建 LVGL简介 环境搭建 IDE 选择 模拟器代码下载 PC模拟器搭建 其他配置项说明 LVGL简介 LVGL是一个跨平台.轻量级.易于移植的图形库.因其支持大量特性 ...
最新文章
- python是一门什么课程-从无到有用Python创造一门属于自己的编程语言1
- c语言入门至精通(全集),C语言入门至精通(全集)知识讲解.ppt
- 成都Uber优步司机奖励政策(3月17日)
- ALC--软件定义架构的PLC
- 上海交通大学出版社python教材答案学生信息管理系统_学生信息管理系统任务书...
- dnf丢失clientbase_登录dnf时出现dnfbase.dll的丢失
- 微信授权登录增加浏览器历史记录解决方法
- 有哪些简洁好看且能高效整理信息的便签软件
- 运维派 » 你有自己的Web缓存知识体系吗?
- python画风景图_风景侠
- python另存为_python 将word另存为txt
- 超炮主题曲用计算机谱,fripsideLevel5 Judgelight(《某科学的超电磁炮》动漫主题曲)歌词-查字典简谱网...
- ojbk的sas proc 过程之proc format
- 打开PS是出现“该内存不能为read”是怎么回事?
- 工商管理专业知识与实务(初级)【4】
- 又回到最初的起点:软件和程序
- 计算机图形学要学什么语言,计算机图形学:算法与实现
- PICE(6):集群环境里多异类端点gRPC Streaming - Heterogeneous multi-endpoints gRPC streaming
- 如何挑选购买一把适合自己的尤克里里ukulele,新手扫雷必看!
- 开发者如何科学选择靓号?