Robot Framework使用2-脚本格式

来源:互联网 发布:js对象数组转json 编辑:程序博客网 时间:2024/06/10 18:01

在使用Robot Framework进行测试时,一般会借助使用RIDE来在图形界面里编辑脚本。不使用RIDE也是可以的,这篇文档的目的就是介绍一下在RIDE中编辑出的脚本的样式,使得我们可以不借助RIDE来写脚本。

一、项目在RIDE中的界面

无RIDE

上图中,有一个项目,在这个项目下有两个test suite(测试组件)和一个资源文件。这里通过查看在本机上保存的文件来看一下它的格式。

二、文件格式和脚本格式

查看本地保存下来的文件,可以发现,在RobotStudy(项目名称)目录下,有以下几个文件,将后缀统一保存为.robot。

无RIDE2

1、_init_.robot文件(init前后各有两个下划线)
文件中的内容如下:
(//后的斜体字是我加的注释,实际编写时必须去掉)

*** Settings ***   //1.注意settings前后各有一个空格                                                     Documentation 这是一个测试用例项目中的文档       //2.文档的注释Suite Setup suite_setup # 项目初始化     //3.所有套件初始化Suite Teardown suite_teardown # 项目清理     //4.所有套件的清理Test Setup test_setup # 项目Test setup          //5.每个用例执行前的初始化Test Teardown test_teardown # 项目Test setup       //6.每个用例执行后的清理Force Tags p_tag           //7.标签(会自动加到所有case中)                                            Library Selenium2Library # 项目中导入的库     //8.导入的库Resource resource.robot            //9.导入的资源文件*** Variables ***                                                           ${URL} www.xxx.com

这个文件可以认为是整个项目的配置文件。要注意的是在上面的注释3、4、5、6中,其中使用的关键字必须要定义。这里我们把关键字统一放到了资源文件中。

2、resource.robot文件
在实际的项目中,往往需要创建许多具有通用性的用户关键字。如果不希望这些关键字依附于某个测试套件,甚至是某个项目。那么可以创建资源文件来存放这些关键字。

resource.robot文件中的内容如下:

*** Settings ***Documentation this is the resource file in this projectLibrary Selenium2Library*** Variables ***                               ${HOME_URL} www.quyiyuan.com # 官网主页网址*** Keywords ***                                                         //定义的关键字,格式为:login                                                                           //1.关键字名称[Arguments] ${name} ${password}                            //2.引用是需要传入的参数(如果需要的话)      log 资源文件里的登录关键字                                     //3.关键字中的操作logoutlog 退出登录suite_setuplog suite初始化......省略了一些关键字

3、测试套件文件
我们这里创建了两个测试套件,所以有两个文件,每个测试套件文件中可以有多个测试用例:
下面是RobotSuite01.robot文件中的内容:

*** Settings ***Suite Setup suite_setupSuite Teardown suite_teardownResource resource.robot*** Variables ***                                                         //变量定义:单个变量、列表、字典三种形式${TEST_URL} www.xxx.com # 定义suite中的变量@{LIST01} v1 v2 V3 # list demo&{DICT01} k1=v1 k2=v2 k3=v3 # dict demo*** Test Cases ***tc01_HomePage                                                       //test case名称[Documentation] 这里是testcase01的文档说明        [Tags] regular                                                           //test case的标签,可用或操作符加多个log hello world.                                                        //test case中要进行的操作Comment 在这里进行操作Comment 前面是命令,后面是参数login name pwdlogouttc02_DocMainPage[Tags] regularlog suite1-case2log ${HOME_URL}tc03_tmplog suite01-case03tc04_tmp2log suite01-case04*** Keywords ***                                                    //测试套件中定义的关键字,只能在此套件中起作用user_kw01[Documentation] 这个是用户关键字[Tags] kw_taglog this is user keywordComment 在这里进行关键字里的操作user_kw02[Documentation] 另一个用户关键字-定义在suite中

三、Test Cases的编写方法

从上面的信息中可以看出,编写用例最重要的在于编写Test Cases 标签下的操作。这些操作都存在一些库文件当中。Robot Framework框架中自带了BuiltIn库,不需要我们手动导入;用Selenium工具测试时必须导入Selenium2Library这个库。目前多数的操作都可以用这两个库完成。(点击上面的链接查看其文档)

原创粉丝点击