首页 > 其他 > 详细

接口自动化测试 unittest+request+excel(一)

时间:2019-09-18 17:00:46      阅读:114      评论:0      收藏:0      [点我收藏+]

注:

  学习python自动化测试,需要先学习python基础,主要还是多敲代码,多联系,孰能生巧,你也会是一名合格的程序员

  python基础学习:

    http://c.biancheng.net/python/

    https://www.runoob.com/python3/python3-tutorial.html

编写接口自动化测试,你要了解掌握他的库,比如下面最重要的两个库,unittest和requests;

  官方文档:https://docs.python.org/3/library/unittest.html    unittest

  官方文档:http://2.python-requests.org/zh_CN/latest/user/quickstart.html  requests

掌握这两个库,相信做接口测试是完全没问题的。

 

接口测试post(接口测试有很多种写法,能成功就OK)

 1 # coding:utf-8
 2 import unittest,time 
 3 import requests
 4 import re
 5 
 6 host = "http://192.168.0.175:8080"
 7 
 8 
 9 def login(s,username,psw):
10         url = host+"/login.jsp"
11 
12         headers = {
13         "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
14         "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
15         "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
16         "Accept-Encoding": "gzip, deflate",
17         "Referer": host+"/zentao/user-login.html",
18         #"Cookie":  # 头部没登录前不用传cookie,因为这里cookie就是保持登录的
19         "Connection": "keep-alive",
20         "Content-Type": "application/x-www-form-urlencoded",
21         }
22 
23         data = {os_username: admin,
24                 os_password: 123456,
25                 os_destination: ‘‘,
26                 user_role: ‘‘,
27                 atl_token: ‘‘,
28                 login: %E7%99%BB%E5%BD%95
29                 }
30 
31         # s = requests.session()   不要写死session
32 
33         r1 = s.post(url, data=data, headers=headers)
34         return r1.content
35 
36 def is_login_sucess(res):
37         if "登录失败,请检查您的用户名或密码是否填写正确。" in res:
38                 return False
39         elif "parent.location=" in res:
40                 return True
41         else:
42                 return False
43 
44 if __name__ == "__main__":
45         s = requests.session()
46         a = login(s,"admin","123456")
47         print(is_login_sucess(a))    

 

封装接口:post和get(要搭建接口自动化测试框架,进行封装可以更加方便)

import requests
import json
class RunMain:
    def send_get(self, url, data):
        res = requests.get(url=url, params=json.dumps(data).json()
        return res

    def send_post(self, url, data):
        res =requests.post(url=url, data=json.dumps(data)).json()
        return res

    def run_main(self, url, method, data=None):
        if method == POST:
            res = self.send_post(url, data)
        else:
            res = self.send_get(url, data)
        return res

if __name__ == "__main__":
    url = http://192.168.0.157:18005/oauth/token
    data = {
            clientId: ut.usscity.com,
            password: 123456,
            userName: admin,
            VerificationCode: ‘‘,
            VerificationCodeKey: "f7dc3967-bfbc-4a0f-9e2d-4d6e403d10a1"
        }
    test = RunMain()
    print(test.run_main(url, POST, data))

运行可以得出返回参数

技术分享图片

 

 返回参数还可以进行美化,就像Navicat一样

class RunMain:
    def send_get(self, url, data):
        res = requests.get(url=url, params=data).json()
        #return res
        return json.dumps(res, indent=2, sort_keys=False, ensure_ascii=False)

    def send_post(self, url, data):
        res =requests.post(url=url, data=json.dumps(data)).json()
        #return res
        return json.dumps(res,indent=2, sort_keys=False, ensure_ascii=False)

  结果得到返回参数

技术分享图片

 

 

 每天学一点,未来是你的

 

接口自动化测试 unittest+request+excel(一)

原文:https://www.cnblogs.com/hemingwei/p/11543243.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!