RobotFrameWork http/https oauth接口测试 (二)

        在RobotFrameWork http/https oauth接口测试 (一)中,大体介绍了相关的概念,终于能够步入正题了~~~web

        先介绍下项目背景:json

        公司的项目采用的受权模式是第三种resource owner password credentials密码模式,由于认证服务器和资源服务器都是公司内部的项目,因此采用了这个方式,公司的处理流程大体以下:服务器

      (A)用户向客户端提供帐号和密码。微信

      (B) 客户端将用户凭证以及客户端凭证信息发送到认证服务器。app

      (C) 认证服务器校验客户端请求合法,而且用户凭证有效,向客户端提供访问令tcp

       认证服务器主要是管理Token,总共有2个接口,一个是getToken,一个是refreshToken。而资源认证服务器主要是处理登陆到会议节点服务器前的业务,暂时有8个接口,在手机移动端下载app后,能够经过获取验证码直接用手机号注册用户(或者qq,微信登陆),而后就能够登陆到会议管理后台,稍微罗列下接口的部分逻辑:工具

       验证手机号码接口--》 获取验证码接口--》验证手机验证码接口--》用户注册接口--》用户登陆会议管理后台接口--》建立会议室接口---》用户登陆会议节点服务器接口,其中用户登陆web管理后台接口前的接口header的Authorization只须要携带客户端凭证信息便可,访问的是认证服务器,拿用户凭证以及客户端凭证信息去获取token,以便进一步访问资源服务器内的资源(后面的接口),以后的接口header的Authorization携带的是认证服务器返回的Token.学习

       对于认证服务器的接口(用户登陆web管理后台接口),接口参数以下:测试

     

      其中:Basic encodeBase64(${clientId} + ":" + ${clientSecret}),就是使用 base64 对客户端凭证( clientId,clientSecret,这两项写在客户端配置文件中)拼接后进行编码。编码

     request-http:

     POST /token HTTP/1.1

     Host: server.example.com

     Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

     Content-Type: application/x-www-form-urlencoded

 

     grant_type=password&username=johndoe&password=A3ddj3w

    

     response-http:

    

     HTTP/1.1 200 OK

     Content-Type: application/json;charset=UTF-8

     Cache-Control: no-store

     Pragma: no-cache

 

     {

       "access_token":"2YotnFZFEjr1zCsicMWpAA",

       "token_type":"example",

       "expires_in":3600,

       "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",

       "example_parameter":"example_value"

     }

      对于资源服务器的接口,Header的Authorization携带的是认证服务器返回的Token,参数以下:

     

     而后,介绍下如何用RF工具进行测试的,在RF中,已经提供了基于http/https协议的库,就是requests库,只须要在官网下载requests和requestLibray便可。基于以前我写的安装步骤,实际用pip命令最容易解决。执行pip install requests,

 pip install -U robotframework-requests,提示成功便可。建项目后,导入RequestsLibrary,若是要操做dictionary,就导入Collections(内置库,加载进人内存即便用)。
     认证服务器接口的测试业务代码以下:
               
    成功返回的结果以下:
            
     资源服务器的接口测试代码以下:
          、   
      成功返回接口以下:
         
   
 
      以上就大体分享了下基于oauth协议的接口的测试方法和大体的业务逻辑,后面会总结下webservice接口测试的方法,经过这半个月对这些接口的测试和学习,忽然感触到学好底层通信协议是多么重要的一件事,http协议和tcp协议基本的公共协议的知识不够,处于入门阶段,应该尽早计划进行一个系统的学习~~~
相关文章
相关标签/搜索