关键字

使用描述

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

【原文归作者所有,欢迎转载,但是保留版权】

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

  1. Robot Framework(十五) 扩展RobotFramework框架——远程库接口

    4.2远程库接口 远程库接口提供了在运行Robot Framework本身的机器上运行测试库的方法,以及使用除本机支持的Python和Java之外的其他语言实现库的方法.对于测试库,用户远程库看起来与 ...

  2. Robotframework之SSHLibrary库

    Robotframework之SSHLibrary库     使用robotframework做自动化测试,在流程中可能需要远程连接机器做一些简单操作,比如连接linux服务器,外面平时用的工具去连接 ...

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

    1.1.1        如何搜索RobotFramework的关键字 有两种方式可以快速的打开RIDE的关键字搜索对话框 1.选择菜单栏Tools->Search Keywords,然后会出现 ...

  4. Windows下静态库与动态库的创建与使用

    Windows下静态库与动态库的创建与使用 学习内容:本博客介绍了Windows下使用Visual C++ 6.0制作与使用静态库与动态库的方法. --------CONTENTS-------- 一 ...

  5. 【Linux技术】Windows与Linux系统下的库·初探

    库的定义  库文件是一些预先编译好的函数的集合,那些函数都是按照可再使用的原则编写的.它们通常由一组互相关联的用来完成某项常见工作的函数构成,从本质上来说库是一种可执行代码的二进制形式,可以被操作系统 ...

  6. c++动态库封装及调用(2、windows下动态库创建)

    DLL即动态链接库(Dynamic-Link Libaray)的缩写,相当于Linux下的共享对象.Windows系统中大量采用了DLL机制,甚至内核的结构很大程度依赖与DLL机制.Windows下的 ...

  7. linux下共享库的注意点之-fpic

    在编译共享库必须加上-fpic.这是为什么呢? 首先看一个简单的例子: #include <stdio.h> int fun1() { printf("fun1\n") ...

  8. Linux下动态库查找路径的问题

    说到和动态库查找路径相关的问题,总体上可以分为两类:    第一类: 通过源代码编译程序时出现的找不到某个依赖包的问题,而如果此时你恰好已经按照它的要求确确实实.千真万确.天地良心地把依赖库给装好了, ...

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

    谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH  PKG_CONFIG_PATH 转载自:http://blog.chinaunix.net/xmlrpc.ph ...

随机推荐

  1. win2012 配置wamp的若干错误

    转自群友 VC2015.VC14 在 Windows 2012 R2 安装失败,0x80240017 - 未指定的错误,解决办法据朋友反应VC2013一样存在这个问题--查资料说是没有安装 KB299 ...

  2. WPF中的Command事件绑定

    在项目中使用Command绑定能够使我们的代码更加的符合MVVM模式.不了解的同学可能不清楚,只有继承自ButtonBase类的元素才可以直接绑定Command(Button.CheckBox.Rad ...

  3. JDK8的新特性——Lambda表达式

    JDK8已经发布快4年的时间了,现在来谈它的新特性显得略微的有点“不合时宜”.尽管JDK8已不再“新”,但它的重要特性之一——Lambda表达式依然是不被大部分开发者所熟练运用,甚至不被开发者所熟知. ...

  4. C#中内嵌资源的读取

    起因 作为一个从Cpper转到C#并且直接从事WPF开发的萌新来说,正式编码过程中碰到了不少问题,一路上磕磕碰碰的.因为软件设计需求上的要求,需要将一些配置文件(XML.INI等)内嵌到程序中,等需要 ...

  5. pycharm导入模块的时候遇到的两个错误

    1.from 包 import AES import后面一定是一个空格!!!!! 2.包的导入 上面多了一层报错 错误的原因是最外层多了一个pythonProject目录.改成下面的ok. 原因大佬这 ...

  6. [Python Study Notes]电池信息

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  7. Vi/Vim的快捷方式

    1 vi/ vim键盘图 2 文字解说 进入编辑模式的6种方式: i在光标前插入 I在行首插入 a在光标后插入 A在行末插入 o在下一行插入 O在上一行插入 删除字符 x 删除当前字符 X 删除前一个 ...

  8. CentOS源码安装Python3.6

    一.安装环境及版本 CentOS 6.5 Python 3.6.1 二.安装依赖包 1.安装静态库 # yum install -y openssl-static 注:如果不安装该静态库,会导致pyt ...

  9. 基于JDK1.8的ConcurrentHashMap分析

    之前看过ConcurrentHashMap的分析,感觉也了解的七七八八了.但昨晚接到了面试,让我把所知道的ConcurrentHashMap全部说出来. 然后我结结巴巴,然后应该毫无意外的话就G了,今 ...

  10. maven使用jstl表达式和The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application解决

    maven 中使用jstl表达式中出现如上错误.原因: 1.由于在maven中的web项目没有自动依赖jstl的jar 未在pom文件中添加jstl相关的jar <!--jstl表达式--> ...