简单的测试登录接口的脚本

Posted caoyinshan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的测试登录接口的脚本相关的知识,希望对你有一定的参考价值。

脚本很简单,就是初级的只有用户名和密码就可以登录的接口测试

需要先新建一个excel文件用来保存用例,以下是excel详情,就写了具体数据,其余字段没写

技术图片

 

 

 

 

具体代码如下:

import requests, time
import xlrd, xlwt
from xlutils.copy import copy


# 打开excel
def read_excel(file_path):
    try:
        book = xlrd.open_workbook(file_path)  # 打开Excel
    except Exception as e:
        print(路径错误或者excel不正确
, e)
    else:
        sheet = book.sheet_by_index(0)  # 打开第一张表
        rows = sheet.nrows  # 文档中总行数
        case_list = []
        for row in range(rows):
            if row != 0:  # 出除表头
                case_list.append(sheet.row_values(row))  # 把每一行数据组成一个大列表
        interface_test(case_list)


# 请求接口
def interface_test(case_list):
    url = /apiauth/login/login  # 接口地址
    res_list = []
    for row_list in case_list:
        json = {"userName": row_list[1],  # 列表中的第2个元素是用户名
                "password": row_list[2]}  # 列表中的第3个元素是密码
        reponse = requests.request(url=url, method=post, json=json)
        res_list.append(reponse.text)  # 把请求结果放到一个list里面
    test_results(file_path, res_list)
  
    
# 分析结果并保存
def test_results(file_path, res_list):
    book = xlrd.open_workbook(file_path)  # 打开原来的excel,获取到这个book对象
    new_book = copy(book)  # 复制一个new_book,无法在原文件中写入,只能复制之后再写
    new_sheet = new_book.get_sheet(0)  # 打开第一张表
    i = 1  # 代表行数,从第2行还是写入
    for res in res_list:
        # 判断结果是否是登录成功,不成功就给字体标红,否则(即成功)不加字体样式,给默认黑色
        if "errCode":0 not in res:
            ‘‘‘
            给字体加颜色,固定写法
            ‘‘‘
            font = xlwt.Font()
            font.colour_index = xlwt.Style.colour_map[red]
            style = xlwt.XFStyle()
            style.font = font
            
            # 将内容按样式填写到单元格中
            new_sheet.write(i, 3, res, style)
        else:
            new_sheet.write(i, 3, res)
        i += 1
    # 以当前时间命名并保存文件
    new_book.save(./%s_测试结果.xls % time.strftime(%Y%m%d%H%M%S))


if __name__ == __main__:
    file_path = ./logintest.xlsx  # 测试用例文件路径
    read_excel(file_path)
    print(执行完毕!!!)

 

执行结果:

1、在指定路径生成一个测试结果文档

技术图片

 

 2、文档详情:

技术图片

 

 

 登录不成功的结果标红显示

。。。

结束

------------恢复内容开始------------

脚本很简单,就是初级的只有用户名和密码就可以登录的接口测试

需要先新建一个excel文件用来保存用例,以下是excel详情,就写了具体数据,其余字段没写

技术图片

 

 

 

 

具体代码如下:

import requests, time
import xlrd, xlwt
from xlutils.copy import copy


# 打开excel
def read_excel(file_path):
    try:
        book = xlrd.open_workbook(file_path)  # 打开Excel
    except Exception as e:
        print(路径错误或者excel不正确
, e)
    else:
        sheet = book.sheet_by_index(0)  # 打开第一张表
        rows = sheet.nrows  # 文档中总行数
        case_list = []
        for row in range(rows):
            if row != 0:  # 出表头
                case_list.append(sheet.row_values(row))  # 把每一行数据组成一个大列表
        interface_test(case_list)


# 请求接口
def interface_test(case_list):
    url = /apiauth/login/login  # 接口地址
    res_list = []
    for row_list in case_list:
        json = {"userName": row_list[1],  # 列表中的第2个元素是用户名
                "password": row_list[2]}  # 列表中的第3个元素是密码
        reponse = requests.request(url=url, method=post, json=json)
        res_list.append(reponse.text)  # 把请求结果放到一个list里面
    test_results(file_path, res_list)
  
    
# 分析结果并保存
def test_results(file_path, res_list):
    book = xlrd.open_workbook(file_path)  # 打开原来的excel,获取到这个book对象
    new_book = copy(book)  # 复制一个new_book,无法在原文件中写入,只能复制之后再写
    new_sheet = new_book.get_sheet(0)  # 打开第一张表
    i = 1  # 代表行数,从第2行还是写入
    for res in res_list:
        # 判断结果是否是登录成功,不成功就给字体标红,否则(即成功)不加字体样式,给默认黑色
        if "errCode":0 not in res:
            ‘‘‘
            给字体加颜色,固定写法
            ‘‘‘
            font = xlwt.Font()
            font.colour_index = xlwt.Style.colour_map[red]
            style = xlwt.XFStyle()
            style.font = font
            
            # 将内容按样式填写到单元格中
            new_sheet.write(i, 3, res, style)
        else:
            new_sheet.write(i, 3, res)
        i += 1
    # 以当前时间命名并保存文件
    new_book.save(./%s_测试结果.xls % time.strftime(%Y%m%d%H%M%S))


if __name__ == __main__:
    file_path = ./logintest.xlsx  # 测试用例文件路径
    read_excel(file_path)
    print(执行完毕!!!)

 

执行结果:

1、在指定路径生成一个测试结果文档

技术图片

 

 2、文档详情:

技术图片

 

 

 登录不成功的结果标红显示

。。。

 

xlwt 设置ecxel单元格样式可参考: https://www.jianshu.com/p/fc97dd7e822c

 

结束

------------恢复内容结束------------

以上是关于简单的测试登录接口的脚本的主要内容,如果未能解决你的问题,请参考以下文章

jmeter 如何运行java程序并将程序结果关联到接口中

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

Flask 编写http接口api及接口自动化测试

;~ 小部分AutoHotkey源代码片段测试模板2019年10月9日.ahk

性能工具之Jmeter一个脚本的编写与调试案例

简单的接口测试登录实例