• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

探索接口自动化三--处理需要登录后才能使用的业务接口测试unittest

武飞扬头像
琳715
帮助1

导语

        很多功能都是需要登录以后才能使用,那这样的接口测试需要如何去编写脚本呢?方法其实有很多种,可以根据实际的需求,挑选最适合的方法,本次以更新用户信息接口为例,来实践并记录基于unittest框架下编写接口脚本的过程。

一、分析需求接口

        在探索框架(一)--unittest框架(Python)中有说明基于unittest编写脚本的要求,这里直接上代码先看一下更新用户信息接口请求情况,代码如下:

  1.  
    import requests, unittest
  2.  
     
  3.  
     
  4.  
    class test_updateinform(unittest.TestCase):
  5.  
    def test_case1(self):
  6.  
    url = "http://......update_information.do"
  7.  
    userinfo = {
  8.  
    "email": "xiaoxiao@126.com",
  9.  
    "phone": "18120121135",
  10.  
    "question": "喜欢的水果",
  11.  
    "answer": "西瓜"
  12.  
    }
  13.  
    response = requests.post(url, data=userinfo).text
  14.  
    print(response)
  15.  
     
  16.  
     
  17.  
    if __name__ == '__main__':
  18.  
    unittest.main()
学新通

        运行以后,print语句打印的是:{"status":1,"msg":"用户未登录"},既然接口显示未登录,那先登录,再来更新信息就可以了,实现的方式有多种,比如:

        方法一:在当前的测试类中,追加一个setup方法,在setup方法中写入登录的脚本;

        方法二:在当前的测试类中,追加一个新的测试方法,test_case1来完成登录的调用,test_case2来实现更新信息;

        方法三:另外创建一个脚本文件,实现登录,再通过测试框架进行接口测试联调;

        方法一和方法二类似,本次用方法一来实现(后续框架及脚本完备后,可用方法三实现),增加代码如下:

学新通
图1 
学新通
图2 postman调用接口

二、传参

        利用postman分析接口以后,就知道,只需要将登录以后的“JSESSIONID”值传到更新信息接口中即可,在登录接口获取“JSESSIONID”值代码如下:

  1.  
    response = requests.post(url, data=userinfo)
  2.  
    # 获取JSESSIONID,并构造为字典数据
  3.  
    self.sessionId = dict(response.cookies)

        在更新信息接口发送请求时加上此参数,代码如下:

response = requests.post(url, data=userinfo, cookies=self.sessionId).text

        加上以上代码以后,就可以成功更新用户信息了。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfihgfj
系列文章
更多 icon
同类精品
更多 icon
继续加载