目录

  • 一、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.3 RF常见标识

一、RF安装

1.1 Ride安装

  1. 安装Python2.7,配置好环境变量
  2. 安装wxPython 2.8.12.1 (目前只有这个版本是官方支持的),一键式安装
  3. 安装ride,下载安装包后,解压后使用python setup.py install安装
  4. 安装RF,下载安装包后,解压使用python setup.py install安装
  5. 安装完成后,在scripts文件夹下,使用python ride.py即可运行

1.2 eclipse安装

  1. 安装eclipse、python2.7,配置好环境变量
  2. 配置python编译器(这一步可以不用配置)
    1. 下载PyDev(下载地址)。将下载文件解压,将features和plugins中的文件分别拷贝至eclipse安装目录下的features和plugins目录下。
    2. 打开eclipse,选择windows->references->PyDev,选择本地的python2.7.exe
  3. 配置eclipse应用于RF的插件(这一步也可以不用配置)

    1. 安装RED插件(有两种方法)

      1. 打开eclipse,选择Help->Install New SoftWare->Add,在弹出窗口中Name填写:RobotFramework-EclipseIDE,URL填写:http://sourceforge.net/projects/robotide/files/stable/ ,点击ok,后根据提示操作,安装完成后重启eclipse

      2. 下载RED_feature,打开ECLIPSE,选择Help->Install New SoftWare->Add,点击弹出框的Archive…按钮,选择本地下载好的RED的zip包,安装完成后重启即可

      注意:重启后eclipse显示的是java视图,为方便后续操作,须将其更改为robot视图,修改方法为:Windows->Perspective->Open Perspective->Other。在弹出窗口选择Robot

    2. 选择windows->references->Editors->File Associations,在File types选择*.txt,在Associated editors选择RobotFramework-EclipseIDE,点击Associated editors的default,设置txt默认打开方式为RobotFramework-EclipseIDE
    3. 任意创建一个txt格式的文件,默认的编辑器均为RobotFramework-EclipseIDE
  4. 安装RF:pip install RobotFramework
  5. eclipse其他设置
    1. 编码设置:indows->references->workspace,在Text file encoding中选择utf-8
    2. 自动提示设置:windows - preference - RobotFramework - Editor - Content Assitant
      加上如下内容:.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@&*:[

二、RF简介

RF全称Robot Framework,是一款python编写的功能自动化框架。具备良好的可扩展性、支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。

2.1 Robot Framework特点

  1. 开源,基于Python2.7开发(暂时不支持python3)
  2. 具有丰富的第三方库,支持UI、API、IOS以及Android
  3. 编写用例简单、方便,可以用txt,tsv或者html等格式编写用例
  4. 支持关键字驱动,数据驱动和行为驱动
  5. 利用已有关键字,测试人员可以创建自己的关键字,形成更高级的行为
  6. 可以像编程一样写测试用例、支持变量使用、可以使用IF语句和FOR循环语句
  7. 支持集成svn、git以及jenkins等工具
  8. 灵活、可扩展(可自己扩展测试库)

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环境搭建及简介相关推荐

  1. vue路由无痕浏览nodeJS环境搭建ElementUI简介

    目录 一.vue路由&无痕浏览 1. SPA是什么 2. SPA实现思路和技术点 ①技术点 ②思路 3. 通过vue的路由可实现多视图的单页Web应用(基于html的SPA) 4. route ...

  2. python sympy安装_SymPy (A) 环境搭建与简介

    SymPy简介:符号计算包 symbolical python, sympy的便携仅依赖于 第三方包mpmath. 学习途径(穷即正义系列)官网 https://sympy.org Mannual D ...

  3. python3.6+RF环境搭建

    现在大家都在用python3了,利用这个机会正好把自己的练习重新整理一遍,本篇记录用python3.6重新搭建关键字驱动环境 目录 1.安装python3.6 2.安装wxPython 3.安装rob ...

  4. Homestead环境搭建及简介

    Laravel开发环境,建议用Homestead环境来搭建. 我的理由是Linux环境,放到生产环境,不容易产生问题,比如防止大小写问题.当然,如果你生产环境本身也用windows里,也可以用AppS ...

  5. 【菠萝狗四足机器人】二次开发教程--第一章 【简介与开发环境搭建】

    Py-apple Dynamics 简介与开发环境搭建 1 简介 1.1 何为 菠萝狗 和 Py-Apple Dynamics 1.2 目前支持的功能 2 开发环境搭建 2.1 硬件的搭建 2.1 软 ...

  6. 自动化测试RF+Selenium环境搭建

    Robot Framework 什么是RF 本文指的自动化测试技术,基于selenium来实现自动化功能测试,而Robot Framework,简称RF,就是基于Python+Selenium来实现的 ...

  7. Python学习--环境搭建

    Python学习入门–环境搭建 Python简介 在进行Python环境搭建之前 ,先简单的介绍一下Python这门语言. Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido ...

  8. 从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建

    从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建 本文简介 为什么使用Spring Boot 搭建怎样一个环境 开发环境 导入快速启动 ...

  9. LVGL WIN32模拟器环境搭建

    LVGL WIN32模拟器环境搭建 LVGL简介 环境搭建 IDE 选择 模拟器代码下载 PC模拟器搭建 其他配置项说明 LVGL简介 LVGL是一个跨平台.轻量级.易于移植的图形库.因其支持大量特性 ...

最新文章

  1. python是一门什么课程-从无到有用Python创造一门属于自己的编程语言1
  2. c语言入门至精通(全集),C语言入门至精通(全集)知识讲解.ppt
  3. 成都Uber优步司机奖励政策(3月17日)
  4. ALC--软件定义架构的PLC
  5. 上海交通大学出版社python教材答案学生信息管理系统_学生信息管理系统任务书...
  6. dnf丢失clientbase_登录dnf时出现dnfbase.dll的丢失
  7. 微信授权登录增加浏览器历史记录解决方法
  8. 有哪些简洁好看且能高效整理信息的便签软件
  9. 运维派 » 你有自己的Web缓存知识体系吗?
  10. python画风景图_风景侠
  11. python另存为_python 将word另存为txt
  12. 超炮主题曲用计算机谱,fripsideLevel5 Judgelight(《某科学的超电磁炮》动漫主题曲)歌词-查字典简谱网...
  13. ojbk的sas proc 过程之proc format
  14. 打开PS是出现“该内存不能为read”是怎么回事?
  15. 工商管理专业知识与实务(初级)【4】
  16. 又回到最初的起点:软件和程序
  17. 计算机图形学要学什么语言,计算机图形学:算法与实现
  18. PICE(6):集群环境里多异类端点gRPC Streaming - Heterogeneous multi-endpoints gRPC streaming
  19. 如何挑选购买一把适合自己的尤克里里ukulele,新手扫雷必看!
  20. 开发者如何科学选择靓号?

热门文章

  1. Laragon 在Windows中快速搭建Laravel本地开发环境
  2. OCR识别技术保险保单识别系统|车险保单识别寿险保单识别|助力保险理赔
  3. Richardson外推法计算给定点处的一阶和二阶导数
  4. 第一、二、三代半导体的区别在哪里?
  5. 从零搭建外卖CPS外卖公众号教程,为你带来睡后收入
  6. 基于AMSR-E和AMSR2数据的全球长时序日尺度土壤水分数据集(2002-2022)
  7. 华钜同创:亚马逊开店六个日常运营小技巧
  8. 华为发布折叠屏官方适配方案
  9. 回收站没有刚刚删除的文件原因|找回方法|解决方案
  10. 微信自定义分享、二次分享解决方案