关键字

使用描述

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. UEditor工具栏上自定义按钮、图标、事件和右击菜单添加自定义按钮

    首先我要说是,举例说的这个版本是1.2以上的,因为一些配置代码转移到了zh-cn.js里,其他没有变化.开门见山直接写:(我自定义的是在线美图功能) 第一步:找到ueditor.config.js文件 ...

  2. python学习:收集主机信息

    #!/usr/bin/env python   from subprocess import Popen, PIPE   def getIfconfig():     p = Popen(['ifco ...

  3. 使用netstat检测及监测网络连接

    在讲监测检测之前,先给大家在普及一个知识,那就是TCP连接的状态,TCP进行3次握手,其过程有很多状态,不同的连接状态,都有想对应的状态码,看下面列表: LISTEN:侦听来自远方的TCP端口的连接请 ...

  4. Vue.js依赖收集

    写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出.文章的原地址:https://github.com/an ...

  5. .NET 设计模式的六大原则理论知识

    1. 单一职责原则(SRP)(Single Responsibility Principle)2. 里氏替换原则(LSP)(Liskov Substitution Principle)3. 依赖倒置原 ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-EF执行SQL语句与存储过程

    这一节,我们来看看EF如何执行SQL语句与读取存储过程的数据,可能有一部分人,还不知道EF如何执行存储过程与原生SQL语句! 我们什么时候要直接使用原生的SQL语句? 返回值过于复杂 过于复杂的联合查 ...

  7. yml 文件操作方法

    文件读取方法示例: import yaml fr = open('yml_file_address', 'r',encoding='utf-8') data = yaml.load(fr) print ...

  8. nginx虚拟域名的配置以及测试验证

    1.保证该机器上安装了nginx 未安装请看:centos/linux下的安装Nginx 2.使用root用户编辑配置文件 vim /usr/local/nginx/conf/nginx.conf 3 ...

  9. Batch Normalization&Dropout浅析

    一. Batch Normalization 对于深度神经网络,训练起来有时很难拟合,可以使用更先进的优化算法,例如:SGD+momentum.RMSProp.Adam等算法.另一种策略则是高改变网络 ...

  10. 洛谷P3381 - 【模板】最小费用最大流

    原题链接 题意简述 模板题啦~ 题解 每次都以费用作为边权求一下最短路,然后沿着最短路增广. Code //[模板]最小费用最大流 #include <cstdio> #include & ...