接口自動化測試 python+request+excel(一)

注:html

  學習python自動化測試,須要先學習python基礎,主要仍是多敲代碼,多聯繫,孰能生巧,你也會是一名合格的程序員python

  python基礎學習:程序員

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

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

編寫接口自動化測試,你要了解掌握他的庫,好比下面最重要的兩個庫,unittest和requests;session

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

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

掌握這兩個庫,相信作接口測試是徹底沒問題的。jsp

 

接口測試post(接口測試有不少種寫法,能成功就OK)post

 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': 'XXXXXXXXXXXXXXXXX', 'password': '123456', 'userName': 'admin', 'VerificationCode': '', 'VerificationCodeKey': "XXXXXXXXXXXXXXXXXX" } 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)

  結果獲得返回參數

 

 

 天天學一點,將來是你的

 

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

相關文章
相關標籤/搜索