简单的测试登录接口的脚本
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
结束
------------恢复内容结束------------
以上是关于简单的测试登录接口的脚本的主要内容,如果未能解决你的问题,请参考以下文章
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段