import pytest import requests import os,sys sys.path.append(os.getcwd()) from utils.dbtools import query from utils.filetools import read_file from utils.filetools import write_file from utils.exceltools import read_excel #数据和脚本分离出来,d放到外面作为公用变量 d= read_excel('data/datas.xlsx',"登录") #登录成功 def test_01_login_success(): #request请求代码 url=d[0][2] data=eval(d[0][4]) res = requests.post(url=url,json=data) print(res.text) assert res.status_code ==d[0][6] assert res.json()["status"]==d[0][7] #sql验证 sql="select * from tb_user where username='******' and password = '******'".format(data['username'],data['password']) assert len(query(sql)) !=0 #关联 token=res.json()["data"]["token"] write_file("./conf/user_token.txt",token)
def test_10_inspiere(): r = read_excel('data\\测谈网接口测试用例.xlsx', 'Sheet1') u = r[14][2] res = requests.get(u) assert res.status_code == r[14][6] assert res.json()['status'] == r[14][7]
def test_04_hqquestion(): data = read_excel("data\测谈网测试用例.xlsx", "问题") u = data[0][2] res = requests.get(u) assert res.status_code == 200 assert res.json()["status"] == data[0][6]
"""首页模块""" import os import sys sys.path.append(os.getcwd()) import pytest import requests from utils.exceltools import read_excel datas = read_excel(excel_path='data/测谈网v1.6接口.xlsx', sheet_name='首页') def test_01_lbt(): # 轮播图 u = datas[0][2] res = requests.get(url=u) assert res.status_code == datas[0][5] assert res.json()['status'] == datas[0][6] def test_02_tjjc(): # 获取推荐教程 u = datas[1][2] res = requests.get(url=u) assert res.status_code == datas[1][5] assert res.json()['status'] == datas[1][6] def test_03_get_questions():
def test_07_articlelist(): r = read_excel('data\\测谈网接口测试用例.xlsx', 'Sheet1') u = r[11][2] res = requests.get(u) assert res.status_code == r[11][6] assert res.json()['status'] == r[11][7]
def test_01_hqhyyh(): data = read_excel("data\测谈网测试用例.xlsx", "首页") u = data[6][2] res = requests.get(u) assert res.status_code == 200 assert res.json()["status"] == data[6][6]
# 首页所有的接口都放到这里 import pytest import requests import os, sys sys.path.append(os.getcwd()) from utils.common import get_url from utils.exceltools import read_excel data = read_excel("./data/测谈网接口.xlsx", "首页") # 方法来表示每个测试用例 # 获取首页轮播图 def test_01_1bt(): url = get_url(data[0][2]) res = requests.get(url=url) assert res.status_code == data[0][6] assert res.json()["status"] == data[0][7] def test_02_getcoures(): url = get_url(data[1][2]) res = requests.get(url=url) assert res.status_code == data[1][6] assert res.json()["status"] == data[1][7] def test_03_getquestions(): url = get_url(data[2][2]) res = requests.get(url=url)
def test_03_hqyhlglb(): data = read_excel("data\测谈网测试用例.xlsx", "灵感") u = data[1][2] res = requests.get(u) assert res.status_code == 200 assert res.json()["status"] == data[1][6]
import requests from utils.exceltools import read_excel from utils.dbtools import query # 1. 准备测试用例,测试用例放在excel中 # [[1,测试用例1,...], [2,测试用例2,...]] """ 1. 准备了接口测试用例文档 2. 实现了接口测试的读取excel功能 """ # 2. 读取excel,获取所有的测试用例 testcases = read_excel("testcases/接口测试用例模板.xlsx", "Sheet1") # 3. 使用自动代码去执行这些测试用例 for testcase in testcases: # 3.1 构造请求 # 这些值都是从我们自己定义的excel中读取的 url = testcase[1] # 接口的地址 method = testcase[5] # 请求的方法 playload = eval(testcase[7]) # 请求的参数 case_name = testcase[3] # 测试用例的名字 http_response_code = int(testcase[8]) # http响应状态码预期结果 interface_status_code = int(testcase[9]) # 接口的code预期结果 request_sql = testcase[10] try: res = requests.request(method, url=url, json=playload) # 3.2 断言http响应状态 assert res.status_code == http_response_code # 3.3 断言接口的响应值 assert res.json().get("code") == interface_status_code
# 1.引入第三方包 # 2.读取Excel数据 # 3.赋值 # 4.构造请求 # 5.断言 # 6.查询数据库 # 1.引入第三方包 import requests import pymysql from utils.dbtools import queey from utils.exceltools import read_excel # 2.读取Excel数据 testcases = [] testcases = read_excel('H:/Python/PyPro/REQUESTSTEST/testcases/接口测试用例模板.xlsx', 'Sheet1') print(testcases) for testcase in testcases: # 3.赋值 test_url = testcase[1] test_name = testcase[3] test_method = testcase[5] test_data = eval(testcase[7]) # print(testcase[8]) response_state = int(testcase[8]) test_code = int(testcase[9]) sql = testcase[10] try: # 4.构造请求 res = requests.request(test_method, url=test_url, json=test_data)
import pytest import requests import os, sys sys.path.append(os.getcwd()) from utils.dbtools import query from utils.filetools import read_file, save_file from utils.common import get_url from utils.exceltools import read_excel data = read_excel("./data/测谈网接口.xlsx", "问题详情") def test_01_question(): """ 查看问题详情 """ u = get_url(data[0][2]) h = eval(data[0][5]) res = requests.get(url=u, headers=h) assert res.status_code == data[0][6] assert res.json()["status"] == data[0][7] print(res.text) a = str(res.json()["data"][0]["id"]) print(a) # save file(file_path='./conf/question_id.txt', content= str(res.json()["data"][0]["id"])) def test_02_getuser4status(): """ 查看收藏点赞状态
import pytest import requests import os, sys sys.path.append(os.getcwd()) from utils.dbtools import query from utils.filetools import read_file from utils.filetools import write_file from utils.exceltools import read_excel #数据和脚本分离出来,d放到外面作为公用变量 d = read_excel('data/datas.xlsx', "首页") def test_03_banalist(): '''获取首页轮播图''' url = d[0][2] header = eval(d[0][5]) res = requests.get(url=url, headers=header) print(res.text) assert res.status_code == 200 assert res.json()["status"] == 200 #for循环遍历数组来查询sql data = res.json()["data"] for i in data: imghost = d['imghost'] linkurl = d['linkurl'] sql = "select * from tb_system_banner where imghost='{}' and linkurl='{}'".format( imghost, linkurl) assert len(query(sql)) != 0