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)
Beispiel #2
0
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]
Beispiel #3
0
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]
Beispiel #4
0
"""首页模块"""
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():
Beispiel #5
0
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]
Beispiel #6
0
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]
Beispiel #7
0
# 首页所有的接口都放到这里
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)
Beispiel #8
0
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]
Beispiel #9
0
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
Beispiel #10
0
# 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)
Beispiel #11
0
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