接口测试平台番外-正交工具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

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

相关文章
|
16天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
26 0
|
1月前
|
JavaScript jenkins 测试技术
这10款性能测试工具,收藏起来,测试人的工具箱!
这10款性能测试工具,收藏起来,测试人的工具箱!
|
1月前
|
人工智能 监控 测试技术
利用AI辅助工具提升软件测试效率
【2月更文挑战第17天】 随着科技的不断发展,人工智能(AI)在各个领域的应用越来越广泛。在软件测试领域,AI技术也发挥着重要作用。本文将探讨如何利用AI辅助工具提升软件测试效率,包括自动化测试、智能缺陷识别和预测等方面。通过引入AI技术,软件测试过程将变得更加高效、准确和可靠。
194 1
|
1月前
|
Web App开发 前端开发 测试技术
探索自动化测试工具:Selenium的威力与应用
探索自动化测试工具:Selenium的威力与应用
探索自动化测试工具:Selenium的威力与应用
|
1月前
|
测试技术
现代软件测试中的自动化工具与挑战
传统软件测试面临着越来越复杂的系统架构和不断增长的测试需求,自动化测试工具应运而生。本文将探讨现代软件测试中自动化工具的应用和挑战,深入分析其优势与局限性,为软件测试领域的发展提供思路和启示。
|
1月前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
3天前
|
人工智能 监控 数据处理
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
18 0
|
16天前
|
测试技术 Linux Apache
网站压力测试工具webbench图文详解
网站压力测试工具webbench图文详解
12 0
|
19天前
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
25天前
|
Java 测试技术 API
软件测试中的自动化工具与策略
软件测试是确保软件质量的重要环节,而自动化测试工具和策略的应用在提高测试效率和准确性方面发挥着重要作用。本文将介绍几种常见的自动化测试工具,并探讨在软件测试中应用自动化测试的最佳实践和策略。

热门文章

最新文章