RobotFramework下HttpLibrary库其它关键字


关键字


使用描述


DELETE


向服务器端发送http delete请求,该请求接收一个参数[ url ],请求的方式和post请求非常类似,示例:


DELETE


/_utils/config.htm


HEAD


向服务器端发送http HEAD请求,该请求接收一个参数[ url ],请求的方式和get请求非常类似,示例:


HEAD


/_utils/config.htm


PUT


向服务器端发送http PUT请求,该请求接收一个参数[ url ],请求的方式和post请求非常类似,示例:


PUT


/_utils/config.htm


Get Json Value


获取Json字符串中某个节点的值,示例:


${value}


Get Json Value


{"foo": {"bar": [1,2,3]}}


/foo/bar


Should Be Equal


${value}


[1, 2, 3]


 

Json Value Should Equal


这是一个断言关键字,用来判断json字符串的某个节点对应的值是不是和预期一致,示例:


${json}


Set Variable


{"foo": {"bar": [1,2,3]}}


 

Json Value Should Equal


${json}


/foo/bar


[1, 2, 3]


Json Value Should Not Equal


这是一个断言关键字,用来判断json字符串的某个节点对应的值是不是和预期不一致,当不一致时,执行成功,否则执行失败,示例:


${json}


Set Variable


{"foo": {"bar": [1,2,3]}}


 

Json Value Should Not Equal


${json}


/foo/bar


[1, 2, 3]


Log Response Body


打印出http请求执行后的 Response Body内容,该关键字一般在post请求或者get请求发出后使用。该请求接收一个参数[ log_level=INFO ],在没有传入日志级别参数时,默认使用info级别来打印日志。


Log Response Headers


打印出http请求执行后的 Response Headers内容,该关键字一般在post请求或者get请求发出后使用。该请求接收一个参数[ log_level=INFO ],在没有传入日志级别参数时,默认使用info级别来打印日志。


Log Response Status


打印出http请求执行后的 Response Status状态码,该关键字一般在post请求或者get请求发出后使用。该请求接收一个参数[ log_level=INFO ],在没有传入日志级别参数时,默认使用info级别来打印日志。


Response Body Should Contain


这是一个断言关键字,用来判断http请求响应后的Response Body 中应该需要包含的内容,该关键字接收一个参数[ should_contain(包含的内容) ],示例:


GET


/foo.xml


Response Body Should Contain


version="1.0"


Response Body Should Contain


encoding="UTF-8"


Response Header Should Equal


这是一个断言关键字,用来判断http请求响应后的Response Header是否和预期一致,该关键字接收两个参数[ header_name | expected ],示例:


Response Header Should Equal


Content-Type


text/html; charset=utf-8


Response Header Should Not Equal


这是一个断言关键字,用法和Response Header Should Equal刚好相反,用来判断http请求响应后的Response Header是否和预期不一致,在不一致时,执行成功,否在执行失败,该关键字接收两个参数[ header_name | not_expected ],示例:


Response Header Should Equal


Content-Type


text/html; charset=utf-8


Response Should Have Header


这是一个断言关键字,用来判断http请求响应后的Response Header中是否包含预期的header名称,该关键字接收一个参数[ header_name ],示例:


Response Should Have Header


Content-Type


Response Should Not Have Header


这是一个断言关键字,用来判断http请求响应后的Response Header中是否不包含预期的header名称,该关键字接收一个参数[ header_name ],示例:


Response Should Not Have Header


Content-Type


Response Status Code Should Equal


这是一个断言关键字,用来判断http请求响应后的Response status code是否和预期一致,该关键字接收一个参数[ status_code ],示例:


Response Status Code Should Equal


200


Response Status Code Should Not Equal


这是一个断言关键字,用来判断http请求响应后的Response status code是否和预期不一致,在不一致时,执行成功,否在执行失败,该关键字接收一个参数[ status_code ],示例:


Response Status Code Should Not Equal


200


Set Http Host


该关键字用来设置http请求时的host名称,现在一般该关键字已经很少用了,推荐使用Create HTTP Context关键字来替代该关键字。


Set Basic Auth


该关键字用来设置http请求时的Basic Auth(Basic Auth简单点说明就是每次请求API时都提供用户的username和password。),该关键字接收两个参数[ username | password ]


Set Json Value


该关键字用来设置json字符串中某个节点的值,示例:


${json}


Set Json Value


{"foo": {"bar": [1,2,3]}}


/foo


12


Should Be Equal


${json}


{"foo": 12}


Log Json


该关键字用来打印json字符串的内容,示例:


Should Be Equal


{"foo": {"bar": [1,2,3]}}


INFO


Stringify Json


该关键字用来将数据转换为json形式的字符串,示例:


${data}


Create List


a b c


${json_string}


Stringify JSON


${data}


log


${json_string}


Show Response Body In Browser


使用默认的浏览器来显示最后一次http请求的response body


Should Be Valid Json


该关键字是一个断言关键字,用来判断某个字符串是不是一个有效的json字符串,示例:


Should Be Valid Json


["a b c"]


Parse Json


该关键字用来解析一个json字符串,示例:


${json}


Parse Json


{"foo": {"bar": [1,2,3]}}


log


${json}


Next Request Should Succeed


该关键字用来判断,在存在多次请求时,下一次请求应该需要执行成功,使用该关键字时,一般需要存在至少两次请求,http请求中,很多请求都有一个特性,那就是幂等,比如get 请求,head请求等,都是幂等的请求,即执行一次和执行多次,都应该是成功的,返回的结果应该都是一致的。在执行第二次http请求时,返回的http code>=400时,会认为第二次请求执行失败了,示例:


GET


/user/signin/aa.htm


Next Request Should Succeed


GET


/user/signin/aa.htm


Next Request Should Not Succeed


该关键字用来判断,在存在多次请求时,下一次请求不应该执行成功,使用该关键字时,一般需要存在至少两次请求,http请求中,也有很多请求是非幂等的,比如常用的post请求,就是一个典型的非幂等请求,即执行一次和执行多次,执行的结果不一定都是一致的。在执行第二次http请求时,返回的http code<400时,会认为第二次请求执行成功了,示例:


POST


/user/signin


Next Request Should Not Succeed


POST


/user/signin


Next Request Should Have Status Code


该关键字用来判断,在存在多次请求时,下一次http请求返回的code值是否和预期一致,示例:


POST


/user/signin


Next Request Should Have Status Code


302


POST


/user/signin


Next Request May Not Succeed


该关键字和Next Request Should Succeed关键字很类似,使用该关键字时,一般需要存在至少两次请求,在下一次请求返回的http code>=400时,会认为下一次请求是执行失败了。示例:


POST


/user/signin


Next Request May Not Succeed


POST


/user/signin

时间: 2024-09-30 10:43:57

RobotFramework下HttpLibrary库其它关键字的相关文章

AutoItLibrary 库的关键字

AutoItLibrary 库的关键字 7.2.1 Run关键字 按F5 查看Run关键字的说明,如下图: Run 关键字用来启动程序,主要有以下3种方式: 7.2.2 Win Close 关键字 按F5 查看Win Close关键字的说明,如下图: Win Close 关键字用来关闭程序. strTitle 是指打开窗口的标题. 7.2.3 Control Click 关键字 按F5 查看Control Click关键字的说明,如下图: Control Click 关键字发送控制命令给鼠标点击

RobotFramework自动化测试框架的基础关键字(一)

1.1.1        如何搜索RobotFramework的关键字 有两种方式可以快速的打开RIDE的关键字搜索对话框 1.选择菜单栏Tools->Search Keywords,然后会出现如下的关键字搜索对话框,这个对话框就类似提供了一个关键字的API的功能,提供了关键字的名称,关键字的来源库和关键字的使用描述和关键字的参数. 2.通过F5快捷键,直接按F5,就可以自动弹出我们需要的关键字搜索框 1.1.2      关键字log Log 关键字其实就等同于python语言中的print函

Robotframework下拉框的选择

Robotframework下拉框的选择用到的关键字为:1.Select form List其意思是从列表中选择需要的值.例如:从该Options中选择一个时间其带的参数为:Arguments:[ locator | items]locator为该下拉框的定位,items为选择时间的值2.Select from List By Index通过索引值来选择下来框中对应的值,从0开始索引其带的参数为:Arguments:[ locator | *indexes ]locator为该下拉框的定位,in

[转]谈谈Linux下动态库查找路径的问题

http://blog.chinaunix.net/uid-23069658-id-4028681.html 学习到了一个阶段之后,就需要不断的总结.沉淀.清零,然后才能继续“上路”.回想起自己当年刚接触Linux时,不管是用源码包编译程序,还是程序运行时出现的和动态库的各种恩恩怨怨,心里那真叫一个难受.那时候脑袋里曾经也犯过嘀咕,为啥Linux不弄成windows那样呢,装个软件那个麻烦不说,连运行软件都这么恼火呢?如果那样的话就不叫Linux了.借用小米公司CEO雷军一句话:小米,为发烧而生

谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH

谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH  PKG_CONFIG_PATH 转载自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=23069658&id=4028681 学习到了一个阶段之后,就需要不断的总结.沉淀.清零,然后才能继续“上路”.回想起自己当年刚接触Linux时,不管是用源码包编译程序,还是程序运行时出现的和动态库的各种恩恩怨怨,心里那真叫一个难受.那时候脑袋里曾经

linux下opencv库所带标的含义

在opencv中存在的许多的各种类型的库,下面我就来介绍下每个库所代表的意义: linux下opencv有很多库. libopencv_calib3d.so      摄像机的标定和3D重建库: libopencv_core.so          基础数据结构库: libopencv_contrib.so      人脸识别库: libopencv_features2d.so 特征点检测以及匹配算法: libopencv_flann.so         查找算法,最近领域法: libopen

CoreJava_线程并发(阻塞队列):在某个文件夹下搜索含有某关键字的文件

Java多线程编程是非常考验一个程序员水平的.传统的WEB程序中,因为框架提供了太多的健壮性.并发性.可靠性的支持,所以我们都是将所有的注意力放到了业务实现上.我们只是按照业务逻辑的要求,不停的积累自己的代码.因为知识,或者是经验的限制,经常出现了问题而不自知.例如,某些比较原始的项目中,并没有使用Spring等相对来说比较灵活健壮的框架.而是仅仅使用Servlet来作为服务端的实现方式. 举一个简单的栗子,众所周知,当请求到了容器,容器是创建并且启动了一个Servlet线程来对当前的请求作出相

转:谈谈Linux下动态库查找路径的问题

http://blog.chinaunix.net/uid-23069658-id-4028681.html 学习到了一个阶段之后,就需要不断的总结.沉淀.清零,然后才能继续"上路".回想起自己当年刚接触Linux时,不管是用源码包编译程序,还是程序运行时出现的和动态库的各种恩恩怨怨,心里那真叫一个难受.那时候脑袋里曾经也犯过嘀咕,为啥Linux不弄成windows那样呢,装个软件那个麻烦不说,连运行软件都这么恼火呢?如果那样的话就不叫Linux了.借用小米公司CEO雷军一句话:小米,

Linux下的库操作工具-nm、ar、ldd、ldconfig和ld.so

Linux下的库操作工具-nm.ar.ldd.ldconfig和ld.so 1.nm [options] file 列出file中的所有符号 [option] -c 将符号转化为用户级的名字 -s 当用于.a文件即静态库时,输出把符号名映射到定义该符号的模块或成员名的索引 -u 显示在file外定义的符号或没有定义的符号 -l 显示每个符号的行号,或为定义符号的重定义项 2.ar {dmpqrtx} [member] archive file 用于操作高度结构化的存档文件(.a) [option