Robot Framework安装使用

摘要:
您可以在目录的项目下创建测试套件。2.创建测试套件NewSuite------选择文件,因为您可以在文件的测试套件下创建测试用例,因为测试用例只能在文件类型下创建。3.创建测试用例NewTestCase3.1测试套件工作区描述3.1.1测试套件编辑区域通常分为四个部分。(1) 加载外部文件库:这意味着在启动测试套件时执行关键字。

关于robotframework环境搭建安装请参考 另外一篇博文:Robot Framework的环境搭建(就是一些库文件的安装)

项目基本流程:

1.创建项目New Project----选择directory原因是,在directory的项目下可以创建测试套件,如果是tpye为file,则只能创建测试用例,这不利于用例的管理。

2.创建测试套件New Suite-----选择file原因是,在file的测试套件下可以创建测试用例,如果是tpye为directory,还得重新再继续建file的测试套件,才能创建测试用例,因为测试用例只能在file类型下创建。

3.创建测试用例New Test Case

3.1 测试套件工作区说明

3.1.1 测试套件Edit区

大体分成4个部分。

(1) 加载外部文件

Library:加载测试库,主要是[PYTHON目录]Libsite-packages里的测试库。具体操作可查看博文下方的“4.2 第三方库”。

Resource:加载资源,主要是你工程相关的资源文件。具体操作可查看博文下方的“5.2.5导入Resource”。

Variables:加载变量文件,不怎么用,可暂时忽略。

(2) 定义内部变量

Add Scalar:定义变量。

Add List:定义列表型变量。

Add Dict:

(3) 元数据定义

Add Metadata:定义元数据。

(4) settings

一般settings是隐藏的,点击settings按钮,则会显示。

Documentation:文档,每一项都有。可以给当前的对象加入文档说明。

Suite Setup: 指的是测试套件启动的时候就执行某个关键字。(例:我在Suite Setup: 设置了Sleep | 5sec,表示等待5秒,要注意关键字的参数要使用 | 分隔)

Suite Teardown: 指的是测试套件结束的时候就执行某个关键字。

Test Setup: 指的就是案例启动的时候执行某个关键字。

Test Teardown: 指的就是案例结束的时候执行某个关键字。

Test Template:测试模版,这是可以指定某个关键字为这个测试套件下所有TestCase的模版,这样所有的TestCase就只需要设置这个关键字的传入参数即可。

Test Timeout:设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败。

Force Tags:在文件型Suite这里还可以继续给子元素增加Force Tags,但是他不能删除父元素设置的tags。

Default Tags:默认标记,其实和Force Tags没啥区别的。

Arguments:传入参数。

Return Value:返回值。

3.1.2 测试套件Text Edit区

测试套件测试用例文本信息。

3.1.3 测试套件Run区

Execution Profile:选择运行方式,里面有pybot、jybot和custom script。默认pybot即可。

Start:运行案例。若该测试套件下的测试用例前无勾选,则默认执行该测试套件下所有的用例。若测试用例勾选,则执行该测试陶见下勾选的用例。

Stop:停止案例。

Report和Log: 报告和日志,要运行之后才能点击。他们的区别,报告更多是结果上的展示,日志更多是过程的记录,更多使用的还是日志。

Autosave: 自动保存,如果不勾选,在修改了案例之后如果没有保存的话,运行案例时会提示是否保存。勾选则在运行时自动保存了。

Arguments: pybot的参数(或者jybot等)。完整版的参数可以在doc命令行输入pybot.bat –help

Only Run Tests with these Tags: 只运行这些标记的测试案例。在case的setting里可以添加tag。

Skip Tests with these Tags: 跳过这些标记的测试案例。在case的setting里可以添加tag。

3.2 测试用例工作区说明

3.2.1 测试用例Edit区

(1)settings

Documentation:文档,每一项都有。可以给当前的对象加入文档说明。

Setup:指的就是案例启动的时候执行某个关键字。

Teardown:指的就是案例结束的时候执行某个关键字。

Tags:标记某个测试用例。在Run区中Only Run Tests with these Tags和Skip Tests with these Tags,会通过这个标志位来识别是否运行或跳过用例。

Timeout:设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败。

Template:测试模版,这是可以指定某个关键字为这个测试套件下所有TestCase的模版,这样所有的TestCase就只需要设置这个关键字的传入参数即可。

(2) 表格区

最重要的部分,编写测试用例。

第一列一般写的是关键词,关键词的来源包括BuiltIn库,第三方导入库,自己编写的导入库。详见博文下方关于库的说明:四,Robotframework库的介绍

使用技巧:

通过ctrl+alt+space可以自动带出相关关键字。以及相关用法,里边有对入参的说明。

Ctrl+鼠标悬浮(即鼠标在某个关键字上),可以直接显示关键字的相关用法。

第二三四五列,一般是入参,红色的表示必填的入参。浅灰色表示选填的入参。深灰色表示无需填写。

四,Robotframework库的介绍

4.1 BuiltIn内建库

首先先介绍下robotframework的库,通过点击F5快捷键。目前只有内建的库BuiltIn,关于内建的库BuiltIn的关键字说明请查看另外一篇博文:学习Robot Framework必须掌握的库—-BuiltIn库

注:其实关键字就是方法名函数名而已。

Robot Framework安装使用第1张

 

4.2 第三方库

只有内建的库往往还不能满足需求,还可以导入第三方库,如操作页面的Selenium2Library。

第三方库,主要是[PYTHON目录]Libsite-packages里的库,一般安装的库会在此目录下。Selenium2Library库的安装也可以详看笔者的另外一篇博文:Robot Framework的环境搭建。博文中有说明Selenium2Library库的安装。

在测试套件下的工作区的右方,点击Library,在弹出框的name栏输入“Selenium2Library”,点击OK即可。

当工作区的Library那一行黑色显示,说明导入成功(如果显示红色说明导入不成功,可自行百度解决)。

点击F5快捷键查看,可查看多了一个Selenium2Library的库。

Robot Framework安装使用第2张

Robot Framework安装使用第3张

Robot Framework安装使用第4张

 

4.3 导入自己编写的库

比如说有些功能想自己编写,比如说如下代码,想要导入实现校验url的功能,文件名为Myimport.py(文件名随意取的,最好是英文的),该文件保存在D: obotframeworkMyLibrary,此时需要将该路径添加到[PYTHON目录]Libsite-packages下的后缀名为pth的文件(文件名随意取的,最好是英文的)中。

# -*- coding:utf-8 -*-
"""
自己编写,验证获得一个URL地址的扩展名。
"""
import re

def Matchurl(str0):
    u'''
    验证url的有效性
    '''
    str1=re.split("[.]",str0)
    listt = ['php','html','asp','jsp']
    if str1[-1] in listt:
        return "TRUE"
    else:
        return "FAIL"

if __name__=='__main__':
    str_input='hehe.php'
    print match_url(str_input)

Robot Framework安装使用第5张

然后重启ride,在测试套件的工作区的右方,点击Library,在弹出框的name栏输入“Myimport”,点击OK即可。

点击F5,即可看到导入自己编写的库。

注意,在Myimport.py文件中编写函数描述时,前面要加u,否则F5查看时,会乱码。

注意,在Myimport.py文件中函数命名为MatchUrl和Match_Url,在ride中都会解析为Match Url。

Robot Framework安装使用第6张

 

五,用例编写及执行

5.1 编写百度搜索的测试案例。

Robot Framework安装使用第7张

关于selenium2Library的关键字使用,可自行百度“robot framework的selenium2Library的操作手册”,网上大把说明。

这里提一句,关于定位元素,可以通过id,name,xpath,link,css,tag等定位。

Id定位:id=kw

Name定位:name=wd

Xpath定位:xpath=//input[@id=’kw’]

Link定位:link=link_text

Css定位:css=#kw

Tag定位:tag=input

具体定位方式跟selenium的如出一辙,可以查看笔者另外一篇博文:Selenuim+Python之元素定位总结及实例说明

 

5.2 分层方法-案例层和流程层分离

如果想改变输入框的输入词,则需要不停的复制case,为了减少冗余,可以做一个简单的分层,把搜索流程剥离成一个关键字,然后再不同的case中调用这个关键字,然后传递不同的参数,以进行不同数据在同一流程下测试。

那如何分层呢?

5.2.1 创建User Keyword

先选中case中所有的脚本,右键选择Extract Keyword。

Robot Framework安装使用第8张

此时左边区域会出现“搜索测试”User Keyword,该User Keyword在测试套件下,一般测试套件不放置User Keyword,建议User Keyword放置在Resource下。

Robot Framework安装使用第9张

5.2.2 创建Resource

如果存在可以不需要创建。

右键项目Test,点击New Resource。

我这里新建的Resource叫做MyResource.txt.

Robot Framework安装使用第10张

Robot Framework安装使用第11张

5.2.3 将User Keyword移至MyResource下。

Robot Framework安装使用第12张

5.2.4 User Keyword入参设置

由于搜索数据可变,将其作为入参,变量用<spanlang="ENUS">settings<spanlang="ENUS">Arguments<spanlang="ENUS">|<spanlang="ENUS">表示,在<spanlang="EN−US">settings的<spanlang="EN−US">Arguments设置,若是有多个入参,那么用<spanlang="EN−US">|分隔,如<spanlang="EN−US">{入参1}|${入参1}

Robot Framework安装使用第13张

5.2.5 导入Resource

需要在测试套件中导入Resource,才能使用该Resource下的User Keyword。这一步别忘了哦。如果之前导入过,则忽略。

在测试套件下的工作区的右方,点击Resource,在弹出框的name栏输入“MyResource.txt”,点击OK即可。

当工作区的Resource那一行蓝色显示,说明导入成功(如果显示红色说明导入不成功,可自行百度解决)。

点击F5快捷键查看,可查看多了一个MyResource.txt的库。

Robot Framework安装使用第14张

Robot Framework安装使用第15张

5.2.6 查看测试用例

会发现原来的一串表格代码编程“搜索测试”User Keyword,且还有个必须输入的入参。

Robot Framework安装使用第16张

这样可以轻松的添加多个测试案例了。

Robot Framework安装使用第17张

 

5.3 分层方法-流程层和元素层分离

将搜索测试中的内容继续分层,将底层的关键字继续拆分。

5.3.1 创建Resource

如果存在可以不需要创建。

右键项目Test,点击New Resource。

我这里新建的Resource叫做ElementResource.txt。

创建之后,记得在MyResource.txt工作区下,导入ElementResource.txt资源哦。如何导入,详见“5.2.5导入Resource”。

5.3.2 创建User Keyword

选中Open Browser那一行,右键选择Extract Keyword。

Robot Framework安装使用第18张

5.3.3 将User Keyword移至ElementResource.txt下。

Robot Framework安装使用第19张

5.3.4 将“打开浏览器”的入参值由“http://www.baidu.com”改为${url}

Robot Framework安装使用第20张

此时,搜索测试中,打开浏览器的入参输入框显示红色,说明必须有一个入参,可以填写“http://www.baidu.com”。

Robot Framework安装使用第21张

5.3.5 剩余关键字

剩余关键字重复5.3.2-5.3.4操作。

输入搜索关键字

Robot Framework安装使用第22张

点击搜索

Robot Framework安装使用第23张

校验标题

Robot Framework安装使用第24张

关闭浏览器

Robot Framework安装使用第25张

而此时搜索测试页面如下:

Robot Framework安装使用第26张

5.4 运行测试用例

选中需要运行的用例,点击运行按钮。

Robot Framework安装使用第27张

可以在Run区查看到用例执行情况。

Robot Framework安装使用第28张

点击Report(或者直接复制下方的url),可以查看到测试报告,绿底表示测试通过。

Robot Framework安装使用第29张

点击Log(或者直接复制下方的url)。

Robot Framework安装使用第30张

 

免责声明:文章转载自《Robot Framework安装使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇零基础入门深度学习(5)SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【Python】解压文件/ZIP等 并实时计算解压进度

import zipfile def read_zip(zip_file_path: str, unpack_path: str, ws_msg: WebSocketMsg): """ 解压ZIP文件 @param zip_file_path: ZIP文件路径(ex. E:\aaa\a.zip) @param unpack_...

1、PyCharm的下载、安装

PyCharm 是python编辑器中,比较顺手的一个。而且可以跨平台,在macos和windows下面都可以用。 (1)安装依赖-JDK 因为pycharm(python IDE)是用Java编写的,所以必须要安装JDK才可以运行。 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/...

java学习手记:推荐编辑器UltraEdit及其配置

 如果不是进行大型的项目开发,只是自己初步学习java,而其中不免要编写测试书上的好多程序,这时我们不用下载安装像Eclipse、JBuilder这些庞大的集成开发环境(IDE)。在这里向大家推荐一款小巧的文本编辑工具UltraEdit。           UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取...

桌面文件删除时提示文件不存在的解决方法

问题现象: 桌面上突然有个文件,点击删除报该文件不存在与桌面中,无法删除 解决方案: 1、新建一个txt文件,随便命名,如del.txt 2、打开该txt,内容填”DEL /F /A /Q \?\%1RD /S /Q \?\%1“,然后保存 3、更改txt的后缀名为bat,即del.txt –>del.bat,然后会发现图标变了 4、将之前无法删除的...

Android编程初涉,以控制摄像头为例

国庆假期期间王老师给我们一天的时间去熟悉Android编程,时间非常的短,当然内心其实并不想做的,不过本着既然做就尽量做好的原则呢,忙了几个小时把王老师要求的简单功能实现了一下,当然因为是只是熟悉一下就上网查了些资料粘贴复制了一下,设计思想和库并不熟悉,下面就实现控制摄像头的功能代码和《第一行代码——Android》和《操作系统概念》两本书的内容简单的展开...

ftp命令

ftp命令是标准的文件传输协议的用户接口。ftp是在TCP/IP网络上的计算机之间传输文件的简单有效的方法。它允许用户传输ASCII文件和二进制文件。 在ftp会话过程中,用户可以通过使用ftp客户程序连接到另一台计算机上。从此,用户可以在目录中上下移动、列出目录内容、把文件从远程机拷贝到本地机上、把文件从本地机传输到远程系统中。需要注意的是,如果用户没有...