接口测试平台番外-正交工具6

简介: 接口测试平台番外-正交工具6

   正交工具目前有个小瑕疵:就是在添加输入条件的时候,会自动复制第一行的数据。这是因为我们之前js代码中仅进行了复制,并没有对其数据进行清空导致。

   所以我们在这里加上这俩句即可:

微信图片_20220703205053.png

 现在每次添加的都是新的了~


关于导出到excel功能,有些粉丝说想把这个导出到excel表,以便再把这个excel表导入到公司自己的用例管理平台。

(用例管理平台 基本都支持 excel导入。我们的正交或者之后的用例生成类小工具也都支持把结果导出到excel中。但是这里有个问题,就是不同的用例平台需要的excel格式是完全不一样的。我们的教程又不可能会对所有平台进行兼容,所以这里只讲如何导出excel的最简单的核心代码逻辑,请小伙伴自行根据公司用例管理平台的导入格式进行改动~)微信图片_20220703205107.png

  首先在zhengjiao.html中加入 这个导出到excel的按钮。

微信图片_20220703205118.png

然后去写对应的js

微信图片_20220703205124.png

这个excel函数要做什么呢?其实就是提取页面生成的结果,然后给到后台,后台再写入到excel中,前端再配合去自动下载到使用者电脑即可。

微信图片_20220703205132.png

我们先提取结果:

这里我们的提取方式有几种:

  1. 提取dom里的实际值。 把这些输入框都统计好。
  2. 直接提取运行后生成的那个二维数组。
  3. 直接复制运行功能的代码,进入后台后重新运行,并把结果变成excel而不是返回给前端,这个好处是简单,并且无需先运行。

按照已有的方法,我们选第三种。简单有效:


所以代码完全复制即可,但是需要改动给到后端的url 和 接受返回值的动作函数。


代码如下:

微信图片_20220703205216.png

然后去urls.py中映射:

微信图片_20220703205233.png

然后去后台新建:

微信图片_20220703205240.png

大家可以看到,这部分代码和运行的是基本一样的。这里当然没有写完,得到的这个res就是一个二维数组,也就是我们需要写到excel中的。

打印一下看看:

微信图片_20220703205252.png

开始讲如何导出到excel

首先是python写入excel有什么方法:

  1. 利用xlrd等
  2. 利用win32com.clent 等

这里不用想,肯定是xlrd方法:

xlrd 大家可以直接pip下载,尽量下载全面:

微信图片_20220703205300.png

然后在views_tools.py头部进行导入:

微信图片_20220703205306.png

代码临时如下:

微信图片_20220703205314.png

完成后,我们运行一下看看:

微信图片_20220703205324.png

果然在我们项目根目录位置出现了这个xls表格,那么我们打开看看:

微信图片_20220703205339.png

可以看到已经成功写入进来了。不过这里我们看着有点别扭,是因为我们没有把输入条件的名字 加进来。

所以我们进行优化,在前端js函数开始,把这个end_keys给传过来:


然后是python代码:

微信图片_20220703205404.png

此时我们在运行看看结果:

微信图片_20220703205412.png

这次就带上了 输入条件的名字了~

到这并没有结束。因为此时我们生成的 excel 是在服务器上,用户自己的电脑是看不到这个excel的。所以我们最后还需要把这个自动下载给用户。


   这里我们需要了解一个事情,就是前后端配合用来下载资源文件的方法方式非常非常多,各有千秋。我下面会用一种最简单 但是不是最好的方法进行下载。大家也可以之后去搜索其他各种方法进行下载文件。

   

   1.先把文件生成位置改到static中:

微信图片_20220703205424.png

# 正交工具导出
def zhengjiao_excel(request):
    end_keys = request.GET['end_keys'].split(',')
    end_values = request.GET['end_values'].split(',')
    new_values = [i.split('/') for i in end_values]
    res = []
    for i in AllPairs(new_values):
        res.append(i)
    # 先创建
    wqrf_book = xlwt.Workbook(encoding='utf-8') # 创建excel
    wqrf_sheet = wqrf_book.add_sheet("正交结果") # 创建sheet页
    for i in range(len(res)):
        case_index = '用例:'+str(i+1) # 用例序号
        hb = list(zip(end_keys,res[i])) #把key和value进行合并
        case = ','.join([':'.join(list(i)) for i in hb]) #进行格式化,便于阅读
        wqrf_sheet.write(i,0,case_index)  # 写入,i为行,0为第一例
        wqrf_sheet.write(i, 1, case)  # 写入,i为行,1为第二例
    wqrf_book.save('MyApp/static/tmp_zhengjiao.xls') #保存
    return HttpResponse('')

然后前端我们的返回处理中只需要加一句:

微信图片_20220703205430.png

这就是直接请求我们静态文件的方法~


然后我们重启服务,刷新页面测试:

微信图片_20220703205530.png

可以看到成功下载了。

然后我们去自己下载目录找到它并打开:

微信图片_20220703205537.png

可以看到已经成功实现了功能。

相关文章
|
1月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
26天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
148 17
Selenium:强大的 Web 自动化测试工具
|
18天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
70 11
|
2月前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
46 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
2月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
2月前
|
监控 测试技术 开发工具
移动端性能测试工具
移动端性能测试工具
57 2
|
2月前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
225 2
|
2月前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
2月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
70 3
|
3月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
83 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)