使用robotframework测试接口

准备:python3.6版本【python-3.6.3-amd64.exe】
下载:https://www.python.org/downloads/windows/
在这里插入图片描述

1.安装RIDE

下载安装好python后,WIN+R打开命令窗口,执行下列语句:

pip install robotframework

pip install robotframework-ride

执行完之后打开 python 目录下的 Scripts 文件夹,确认是否有一个ride.py文件,这是自动生成的。
在这里插入图片描述

2.打开RIDE

如图:
在这里插入图片描述
输入 python ride.py 回车之后,ride的界面就出现了:【命令窗口不能关,如果关了,ride的窗口也会关闭】
在这里插入图片描述

3.新建文件

先新建项目【File-New Project】,再在项目下新建测试套件【New Suite】,最后在测试套件下新建测试案例【New Test Case】。

一个项目下可以新建多个测试套件,一个测试套件下可以新建多个测试案例。

在这里插入图片描述

4.导包

在这里插入图片描述
如图,点击library按钮,在弹出框中填写三个包的包名,分别是:Collections、String、RequestsLibrary. [若导入之后字体呈现黑色,则说明导入成功;若导入之后字体呈现红色,则说明导入失败]

可以点击测试套件,在测试套件中导入;也可以点击项目名,在项目中导入。【如果是在测试套件中导入包,则这些包只对该测试套件下的测试案例起作用】

5.注释与取消注释

CTRL+#  注释的快捷键
CTRL+$  取消注释的快捷键

comment 开头的行,说明这行已经被注释,如下图所示:
在这里插入图片描述
若要单独注释某格中的数据,在数据前加 # 即可,如下图所示:
在这里插入图片描述

6.基本运用

①声明变量的语法:

${
    
    变量名}  set variable  变量值

在这里插入图片描述

②查看变量的数据类型或转换变量的数据类型的语法:

${
    
    变量名}  evaluate  type($变量名)        #查看变量的数据类型
${
    
    变量名}  evaluate  int($变量名)		    #令变量的数据类型为int

在这里插入图片描述

③创建列表的语法:

${
    
    变量名}  create list  列表值1  列表值2  列表值3 ...

在这里插入图片描述

④创建字典的语法:

${
    
    变量名}  create dictionary  属性1=属性值1 属性2=属性值2 属性3=属性值3 ...

在这里插入图片描述

⑤输出的语法:

log 需要输出的值

在这里插入图片描述

⑥访问网址的语法:【创建会话的语法】

create session 会话名 网址
${
    
    变量名} get request 会话名 域名+参数
log ${
    
    变量名}                            #这两个地方的变量都是指发出请求之后得到的响应值

在这里插入图片描述
两个地方的变量名必须得保持相同,参数可有可没有。

⑦运行:

勾选要运行的测试案例,然后点击运行按钮即可。
在这里插入图片描述

⑧固定语法解释:

Ⅰ:run keyword if 指如果满足条件则运行关键字,如果条件有很多个则语法如下:

${
    
    变量名} run keyword if 条件表达式 set variable 结果值说明
					else if 条件表达式 set variable 结果值说明
					else 条件表达式 set variable 结果值说明

在这里插入图片描述
在这里插入图片描述

Ⅱ:for循环

//循环一组数据
FOR ${
    
    变量名} IN123 ...
	log ${
    
    变量名}
END
//循环一个范围内的数据
FOR ${
    
    变量名} IN RANGE12         
	log ${
    
    变量名}
END
# 指值1和值2之间的范围,如果值11,值210,则就是1-10的范围,不包括10

在这里插入图片描述
在这里插入图片描述

Ⅲ:如何在满足条件的时候终止for循环呢?

// 语法
${
    
    变量名1} create list 值1234...
FOR ${
    
    变量名2} IN ${
    
    变量名1}
	run keyword if 有关变量名2的条件表达式 exit for loop
	log ${
    
    变量名2}
END

在这里插入图片描述
解释一下上面这张截图:定义一个2,5,7,8的数组,数组变量名为@{group},接下来是循环这个数组,当循环到的数值等于7时,则退出循环,没有等于7时则继续循环。【这里变量如果不使用@,运行时可能会报错,可以分别输出@{变量名}和另外一个看看区别】

Ⅳ:如何在满足条件的时候才能进行for循环呢?

// 语法
FOR ${
    
    变量名} IN RANGE 值             
	run keyword if 条件表达式 continue for loop
	log ${
    
    变量名}
END
#若只有一个值,则代表初始值省略,默认初始值为0

在这里插入图片描述

Ⅴ:不支持while,不支持多重for循环。如果需要多重循环怎么办呢?只能重新定义关键字:

右击测试套件名,选择“New User keyword”:
在这里插入图片描述
forJ指代第二次循环,这里需要在Argument中输入一个传过来的参数,这个传过来的参数来源于第一次循环:
在这里插入图片描述
在这里插入图片描述

7.如何使用get方法访问网址?get request,网址后面可以直接携带参数访问,也可以创建字典,利用“params=”传参

在这里插入图片描述
在这里插入图片描述

8.如何使用post方法访问网址?post request,网址后面不可以直接携带参数访问,需创建字典,利用"data="传参

在这里插入图片描述

9.访问网址获得响应时如何使用断言?

${
    
    变量名1} should be equal ${
    
    变量名2} 值 断言结果说明
#意思就是,将${
    
    变量名2}与值做比较,如果相等则输出‘断言结果说明’

在这里插入图片描述

第4行是将响应结果用json的格式输出,即 ${res.text} 经过 to json,得到了json格式的响应结果 ${json};
第5行第6行是从json格式的响应结果中得到名为status 、desc 的字典,将这两者分别命名为变量 ${status} 、${desc};
第7行,将${status} 的值类型转换为string

10.正则表达式参数的使用

get regexp matches,匹配正则表达式
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43096786/article/details/111632585
今日推荐