Follow Response 关键字用于处理http中的重定向请求,常见的http 重定向请求包含http code为301和302 两种重定向请求,代表着某个URL地址发生了转移。

http code

说明

301

redirect: 301 代表永久性转移(Permanently Moved)。

302

redirect: 302 代表暂时性转移(Temporarily Moved )。

示例1:调用博客园(http://www.cnblogs.com/)的认证接口(https://passport.cnblogs.com /user/signin),进行用户登录认证,在请求时,没有设置Cookie 这个http Header时,http code会返回302 ,在使用Follow Response 关键字后,会继续使用重定向后的url 继续进行请求。

Create Http Context       passport.cnblogs.com     scheme=https

Set Request Header Referer    https://passport.cnblogs.com/user/signin?ReturnUrl=http://i.cnblogs.com/

Set Request Body       {"input1":"V+bOQYKu0ZQXtauwxpGZC4YvvxwLI6/zA9U6Hx2JxXDZIpDXT2Fzravj7AiR5YDsSqEUkYZFnB+komrnfzF5dzBHXN3FOxHdQ5oRoMdDHh/zdxTUuqg/9ev4V4yyT9T8V9fElmxs+BVrF2kNZU35VtkaftQW8qn08Tl0GgdzEZY=","input2":"GAK4VTm2i+a/6bLHRIu8/oEeKJKav3SrU/DS5l3O0BmD/Xk6PEd0vk8GuLs6/obV3dl+y8Hub2Ey9+pO6ip53KIsNKPOeU1y0P0aCIxMGK0jWcs+ydClgeN0KRvxNlO/LTcW1hrXVcRBRAAhRcezdT2OTbYE4frZKIMShHqz+sE=","remember":false}

POST      /user/signin

Follow Response

${status} Get Response status

${body}  Get Response Body

log   ${body}

log   ${status}

执行结果:

从返回的结果看,在使用了Follow Response关键字后,会继续重定向后的url继续请求,最后返回的http code为200。

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

RobotFramework下的http接口自动化Follow Response关键字的使用的更多相关文章

  1. RobotFramework下的http接口自动化Get Response header 关键字的使用

    Get Response header 关键字用来获取http请求返回的http响应头部数据. 常见的Response Header: Header 解释 示例 Accept-Ranges 表明服务器 ...

  2. RobotFramework下的http接口自动化Get Response Body关键字的使用

    Get Response Body 关键字在上面已经有用到了,服务器端在处理完成了发出的http请求后,会给出对应的响应结果,那么Get Response Body这个关键字就是来获取响应结果中的主体 ...

  3. RobotFramework下的http接口自动化Get Response Status 关键字的使用

    Get Response Status 关键字用来获取http请求返回的http状态码. 示例1:访问苏宁易购网站上的http推荐接口,使用Get Response Status 关键字来获取返回的h ...

  4. RobotFramework下的http接口自动化Get关键字的使用

    在使用Create Http Context关键字创建了http的调用环境后,就可以使用Get关键字来发送一个http协议中最常用的get请求了. Get 关键字只接受一个url参数,该关键字的API ...

  5. RobotFramework下的http接口自动化post关键字的使用

    在http协议中,除了get请求外,另一个最常用的就是post请求了.和get 请求类似,post请求接收一个参数,[ url ] 示例1:调用博客园(http://www.cnblogs.com/) ...

  6. RobotFramework下的http接口自动化Set Request Body 关键字的使用

    Set Request Body关键字用来设置http 请求时的body 信息,尤其是在post 请求时,经常需要用到这个关键字. 该关键字接收一个参数,[ body ] 示例1:登录博客园(http ...

  7. RobotFramework下的http接口自动化Set Request Header 关键字的使用

    Set Request Header 关键字用来设置http请求时的请求头部信息. 该关键字接收两个参数,[ header_name | header_value ] 示例1:设置http请求时的Re ...

  8. RobotFramework下的http接口自动化Create Http Context关键字的使用

    要想使用HttpLibrary,Create Http Context 关键字的作用相当于是创建了一个http 调用的环境,是必不可少的一个关键字. Create Http Context 关键字需要 ...

  9. RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)

    本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramewor ...

随机推荐

  1. JDBC常见面试题

    以下我是归纳的JDBC知识点图: 图上的知识点都可以在我其他的文章内找到相应内容. JDBC常见面试题 JDBC操作数据库的步骤 ? JDBC操作数据库的步骤 ? 注册数据库驱动. 建立数据库连接. ...

  2. python爬虫循环导入MySql数据库

    1.开发环境 操作系统:win10    Python 版本:Python 3.5.2   MySQL:5.5.53 2.用到的模块 没有的话使用pip进行安装:pip install xxx     ...

  3. Java经典编程题50道之二十一

    求1+2!+3!+...+20!的和. public class Example21 {    public static void main(String[] args) {        sum( ...

  4. bzoj 2288 【POJ Challenge】生日礼物 双向链表+堆优化

    2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1003  Solved: 317[Submit][ ...

  5. iOS 添加WKWebView导致控制器无法释放的问题

    在WkWebView与JavaScript交互中,经常会在原生中注入MessageHandler,app中注入MessageHandler的方法 WKWebViewConfiguration *con ...

  6. CentOS7上LNMP安装包一步搭建LNMP环境

    系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要5GB以上硬盘剩余空间 需要128MB以上内存(如果为128MB的小内存VPS,Xe ...

  7. API token for Github

    1.如图所示:(前提是登录Github,进入Personal settings) 2,创建token 3,生成token 4. Last login: Mon Dec  5 20:24:18 on c ...

  8. Jquery就是这么简单

    什么是Jquery? Jquey就是一款跨主流浏览器的JavaScript库,简化JavaScript对HTML操作 就是封装了JavaScript,能够简化我们写代码的一个JavaScript库 为 ...

  9. Java集合框架(二)—— HashSet、LinkedHashSet、TreeSet和EnumSet

    Set接口 前面已经简绍过Set集合,它类似于一个罐子,一旦把对象'丢进'Set集合,集合里多个对象之间没有明显的顺序.Set集合与Collection基本上完全一样,它没有提供任何额外的方法. Se ...

  10. python数据可视化学习1

    import matplotlib.pyplot as plt input_values = [1,2,3,4,5] #输入值 squares = [1,4,9,16,25] #输出值 plt.plo ...