robotFramework基本使用

本文档介绍了RobotFramework的基本使用方法,包括关键字定义、列表和字典操作、用户关键字创建及SeleniumLibrary的详细应用等内容,适用于Web自动化测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1常用关键字

1.1 定义变量

Set variable

1.2打印

log:打印,相当于print

1.3连接对象

Catenate
这里写图片描述
这里写图片描述
SEPARATOR=:可以对多个连接的信息进行分割
这里写图片描述
这里写图片描述

1.4定义列表

Create List:定义列表

1.5获取当前时间

get time:获取当前时间

1.6if语句

通过“run keyword if”关键字可以编写 if 分支语句。
这里写图片描述
这里写图片描述

1.7for循环

这里写图片描述
这里写图片描述
遍历列表
这里写图片描述
这里写图片描述
循环中的判断
这里写图片描述
这里写图片描述

1.8强大的Evaluate

通过Evaluate可以使用python语言中所提供的方法。
![这里写图片描述](https://img-blog.csdn.net/20180409185041727?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYW5nbGlhbnllMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

这里写图片描述
执行本地程序
这里写图片描述
这里写图片描述

1.9导入库

Robot Framework可通过“Import Library”关键字导入库
1、调用框架

Import Libraryunittest

我们导入了 Python 标准的单元测试框架 unittest。当然,在 Robot Framework 中并不能使用 unittest
单元测试框架。这只里只演示“Import Library”等同于 Python 语言中的 import。

2、调用python文件

#coding=utf-8
def add(a,b):
    return(a+b)

if __name__=='__main__':
    a=add(4,5)
    print(a)

这里写图片描述
这里写图片描述
执行结果与我们预期的不一样,预期应该为9,但是执行结果为45.。这是因为 Robot Framework 把 4
和 5 当前两个字符串。所以 4 和 5 拼接起来是 45。我们可以将 4 和 5 转化成 int 类型,再调用 add。
这里写图片描述
这里写图片描述

1.10 注释

“Comment”关键字用于设置脚本中的注释。
这里写图片描述

2 Screeshot库

Scrennshot 同样为 Robot Framework 标准类库,其中一个关键字“Take Screenshot”,它用于截取到当前窗口。
虽然 Scrennshot 也为 Robot Framework 标准类库,但它默认不会加载,需要手动加载这个库。
这里写图片描述

2.1 屏幕截图

这里写图片描述

Collections库

Collections 库同样为 Robot Framework 标准类库,它所提供的关键字主要用于列表、索引、字典的处理。
这里写图片描述

3.1 创建字典

字典也是一种常见的存放数据的形式,Create Dictionary 关键字用于创建关键字。
这里写图片描述

3.2 操作字典

Get Dictionary Items 关键字用于读取字典的 key 和 value
这里写图片描述

  • Get Dictionary Items 关键字获取字典中的 key 和 value。
  • Get Dictionary Keys 关键字获取字典中的 key。
  • Get Dictionary Values 关键字获取字典中的 value。
  • Get From Dictionary 关键字获取字典中的 key 对应的 value

虽然 Scrennshot 也为 Robot Framework 标准类库,但它默认不会加载,需要手动加载这个库。

4 用户关键字

在 Robot Framework 中关键字的创建分两种:系统关键字和用户关键字。系统关键字需要通过脚本开发相应的类和方法。用户关键字的创建就要简单得多,它主要利用现有的系统关键字,根据不同的业务,把多个重复的步骤集合在一起组成用户关键字。
这里写图片描述

4.1 创建用户关键字

这里写图片描述
在弹出的菜单中输入用户关键字的名称。

注意这个时候用户关键字和测试用例平级,所以在测试用例中可以直接使用
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

4.2 创建资源

在实际的项目测试过程中,我们往往需要创建许多这样的具有通用性的用户关键字。不希望这些关键
字依附于某个测试套件,甚至是某个项目。那么我们可以创建资源文件用于存放这些关键字。

1、创建资源
选择某个项目,右键选择“New Resource”创建资源
这里写图片描述

输入资源名称:
这里写图片描述
2、创建关键字
右键“业务关键字资源”选择“New User Keyword” 来创建用户关键字。
这里写图片描述

3、导入资源
因为“业务关键字资源.txt”和“suite1”属于并列关系。测试套件要想使用业务关键字下的“资源1”关键字,需要导入资源。与前面导入关键字方法一样

5 Selenium

5.1 Selenium介绍

对 Robot Framework 框 架 的 Selenium 库 有 两 个 : SeleniumLibrary 和 Selenium2Library 。
SeleniumLibrary 是基于 Selenium1.0 开发的,Selenium2Library 是基于 Selenium2.0 开发的。如果没有
历史遗留问题,我们直接使用 Selenium2Library。

5.2 安装 Selenium2Library

终端中输入:
pip install robotframework-selenium2library

将Selenium2Library库添加到相应的测试套件中
这里写图片描述

添加完成,黑色示添加的库正常,红色表示库不存。如果为红色,请检查
python2.7安装目录\Lib\site-packages 目录下是否有Selenium2Library 目录

5.3 第一个例子

通过按 F5 快捷键来查询库所提供的关键字。
这里写图片描述

下面进行打开浏览器的操作:
这里写图片描述
“Open Browser”变蓝了,说明它是一个合法的关键字,后面有一个方框是红色的,表示这个参数
不能缺省的。通过说明信息中,我发现它需要一个 url 地址是必填的,当然还需要指定 browser (默
认不填为 friefox)
这里写图片描述

这里写图片描述

5.4 元素定位

对于 Web 自动化测试来说,就是操作页面上的各种元素,在操作元素之间需要先找到元素,换句话说
就是定位元素。

Selenium2Library 提供了非常丰富的定位器:
这里写图片描述

下面介绍 4 种定位方式,id、
name、xpath 和 css。介绍 id 和 name,是因为这两种定位方式非常简单且实用,介绍 xpath 和 css,是因为
这两种定位方式足够强大,可以满足几乎所有定位需求。

5.5 Selenium2Library 关键字

关于 Selenium2Library 的关键字,我们可以参考:http://rtomac.github.io/robotframework-selenium2library/doc/Selenium2Library.html#Unselect%20Checkbox
或者通过 F5查找 Selenium2Library 关键字库:
这里写图片描述

5.5.1 浏览器驱动

通过不同的浏览器执行脚本:

Open BrowserHtpp://www.xxx.comchrome

浏览器对应的关键字:

浏览器名称关键字
firefoxFireFox
ffFireFox
internetexplorerInternet Explorer
ieInternet Explorer
googlechromeGoogle Chrome
gcGoogle Chrome
chromeGoogle Chrome
operaOpera
phantomjsPhantomJs
htmlunitHTMLUnit
htmlunitwithjsHTMLUnit with Javascipt support
androidAndroid
iphoneIphone
safariSafari

open browser 同样也可以打开本地 html 页面,如:

Open Browserfile:///E:/OTCNEWSETT/OTC_qs/js.htmlgooglechrome

备注:
要想通过不同的浏览打开 URL 地址,一定要安装浏览器相对应的驱动。
chrome 的驱动为:chromedriver.exe 。
IE 的驱动为:IEDriverServer.exe.
浏览器默认为空时启动 FireFox。

5.5.2 浏览器最大化

Maximize Browser Window

Maximize Browser Window 关键字使当前打开的浏览器全屏。

5.5.3 设置浏览器窗口宽、高

Get Window Size800600

Get Window Size 800 600
get windows size 关键字用于打设置打开浏览器的宽度和高度。以像素为单位,第一个参数 800 表示宽
度,第二个参数 600 表示高度。
这里写图片描述

这里写图片描述

5.5.4 文本输入

Input Textxpath=//* [@]输入信息

input text 关键字用于向文本框内输入内容。
xpath=//* [@] :表示元素定位,定位文本输入框。

5.5.5 点击元素

Click Elementxpath=//* [@]

Click Element 关键字用于点击页面上的元素,单击任何可以点击按钮、文字/图片连接、复选框、单选
框、甚至是下拉框等。
xpath=//* [@] :表示元素定位,定位点击的元素。

5.5.6 点击按钮

Click Buttonxpath=//* [@]

Click Element 关键字用于点击页面上的按钮。
Xpath=//* [@] :表示元素定位,定位点击的按钮。

5.5.7 等待元素出现

|Wait Until Page Contains Element |xpath=//* [@] |42|error|
| ————- |:————-:| —–:| —–:|
Wait Until Page Contains Element 关键字用于等待页面上的元素显示出来。
Xpath=//* [@] :表示元素定位,这里定位出现的元素
42 : 表示最长等待时间。
Error : 表示错误提示,自定义错误提示,如:“元素不能正常显示”

5.5.8 获取title

|Get Title |||
| ————- |:————-:| —–:|
get title 关键字用于获得当前浏览器窗口的 title 信息。
这里只获取 title 是没有意义的,我们通常会将获取的 title 传递给一个变量,然后与预期结果进行比较。
从而判断当前脚本执行成功。

5.5.9 获取text

Get Textxpath=//* [@]

get text 关键字用于获取元素的文本信息。
xpath=//* [@] : 定位文本信息的元素。

5.5.10 获取元素属性值

Get Element Attributeid=kw@name

id=kw@name:id=kw 表示定位的元素。@nam 获取这个元素的 name 属性值。

5.5.11 cookie处理

get cookies
get cookie valueKey_name
add cookieKey_nameValue_name
delete cookieKey_name
delete all cookies

get cookies 获得当前浏览器的所有 cookie 。
get cookie value 获得 cookie 值。key_name 表示一对 cookie 中 key 的 name。
add cookie 添加 cookie。添加一对 cooke (key:value)
delete cookie 删除 cookie。删除 key 为 name 的 cookie 信息。
delete all cookies 删除当前浏览器的所有 cookies。

5.5.12 验证

获得浏览器 title 进行比较。

open browserhttp://www.baidu.comchrome
${title}GetTitle
should contain${title}百度一下,你就知道

Open Browser 通过 chrome 打开百度首页。
Get Title 获得浏览器窗口的 titile ,并赋值给变量 “ titleShouldContain t i t l e ” “ S h o u l d C o n t a i n ” 比 较 ” {title}”是否等于“百度一下,你就知道”。

获得文本信息进行比较

${text}Get Text
should contain${text}百度一下,你就知道

5.5.13 表单嵌套

有时候和页面中会出现表单嵌套,这个时候需要进入到表单才能操作相关元素。

Select FrameXpath=//* [@]
Unselect Frame

Select Frame 进入表单,Xpath=//* [@] 表示定位要进入的表单。
Unselect Frame 退出表单。

5.5.14 下拉框选择

Unselect From List By ValueXpath=//* [@]value

Unselect From List By Value 关键字用天选择下拉框。
Xpath=//* [@] 定位下拉框;
Vlaue 选择下拉框里的属性值。

5.5.15 执行 JavaScript

在一些特殊的情况下需要调用 JavaScript 代码。

Execute Javascript$(“#tooltip”).fadeOut();

Execute Javascript 关键字用于使用 JavaScript 代码

### 使用 Robot Framework 的基本方法 Robot Framework 是一个用于接受测试和验收测试驱动开发 (ATDD) 的通用开源自动化测试框架。它采用关键字驱动的方法来创建测试用例,使得即使是非技术人员也能轻松理解和编写测试脚本。 #### 安装与配置 要开始使用 Robot Framework,首先需要安装 Python 和 pip 工具。接着可以通过以下命令安装 Robot Framework 及其依赖项: ```bash pip install robotframework ``` 这一步会完成 Robot Framework 的基础环境搭建[^1]。 #### 测试用例结构 Robot Framework 中的测试用例通常由三个主要部分组成:设置(Setup)、执行(Execution)以及清理(Teardown)。这些部分可以定义在单独的关键字文件或者直接写入到测试套件中。 ##### 创建第一个测试用例 下面展示了一个简单的例子,演示如何验证网页标题是否正确加载: ```robot *** Settings *** Library SeleniumLibrary *** Test Cases *** Verify Page Title Open Browser https://www.example.com chrome Title Should Be Example Domain Close All Browsers ``` 上述代码片段展示了如何利用 `SeleniumLibrary` 来控制浏览器行为并检验页面属性[^2]。 #### 扩展功能 尽管 Robot Framework 自带丰富的内置库,但在实际应用过程中可能还需要额外的功能支持。这时就可以借助第三方插件或自定义编写的 Python 库来进行增强。比如对于 API 接口测试来说,推荐搭配 RequestsLibrary;而对于数据库操作,则可选用 DatabaseLibrary 等工具包[^3]。 #### 运行测试 准备完毕之后,只需运行如下指令即可启动整个测试过程: ```bash robot your_test_suite.robot ``` 此命令将会解析指定路径下的 .robot 文件,并按照预定逻辑依次执行其中包含的各项任务。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值