微信开发RobotFrameWork http/https oauth接口测试 (二)
白羽 2019-05-23 来源 :网络 阅读 2437 评论 0

摘要:本文将带你了解微信开发RobotFrameWork http/https oauth接口测试 (二),希望本文对大家学微信有所帮助。

    本文将带你了解微信开发RobotFrameWork http/https oauth接口测试 (二),希望本文对大家学微信有所帮助。


微信开发RobotFrameWork http/https oauth接口测试 (二)



            在RobotFrameWork http/https   oauth接口测试 (一)中,大致介绍了相关的概念,终于可以步入正题了~~~
   
            先介绍下项目背景:
   
            公司的项目采用的授权模式是第三种resource   owner password   credentials密码模式,因为认证服务器和资源服务器都是公司内部的项目,所以采用了这个方式,公司的处理流程大致如下:
   
          (A)用户向客户端提供账号和密码。
   
          (B) 客户端将用户凭证以及客户端凭证信息发送到认证服务器。
   
          (C)   认证服务器校验客户端请求合法,并且用户凭证有效,向客户端提供访问令
   
             认证服务器主要是管理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协议基本的公共协议的知识不够,处于入门阶段,应该尽早计划进行一个系统的学习~~~
   
          
 

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程