怎么样将soapui的运行结果写入excel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么样将soapui的运行结果写入excel相关的知识,希望对你有一定的参考价值。

1.自动化测试工具介绍
由于系统前后端分离,所以接口测试势在必行,在接触了几天接口测试框架,包括postman、httpclient、loadrunner、soapUI等,下面具体讲讲最终决定使用soapUI的原因

(1)postman:是谷歌浏览器自带插件,非常方面使用,但是部分功能需要付费才能使用。
(2)httpclient:当初有想法用这个框架+mysql数据来做接口自动化,但是发现自己对json的解析做的不够好,需要自己写代码,而且更深入的了解需要一定的时间,所以就暂时先放一放,后期如果有需要可能还会研究,入门的文章已经写了一些。
(3)loadrunner:这个工具功能非常强大,在接口测试中也能用到,但是在接口传值、接口参数化方法有一定局限,比较适合做性能。
(4)soapui:这个框架是为接口测试准备的,整个界面集成也能全部满足接口测试的需要,操作方便。
为什么决定使用soapUI呢?一开始决定做接口测试,就想着要数据分离,曾经在UI自动化中用过excel,所以决定继续用excel,而且了解到soapUI对读取、写入excel非常方便,而像postman是没有办法使用excel或者其他方法来做到数据分离,httpclient、loadrunner都需要自己写代码来读取、写入。当然也还可以使用其他方法来做到数据分离。

2.soapUI工具的使用(举例说明)
2.1安装
安装这里就不介绍了,我用的是soapUI pro,相对于soapUI功能更抢到,大家也可以接触下soapUI+Groovy+excel来做接口自动化,但是我为了更简单的完成任务,选择了soapUI pro(能简单就简单,没必要真要去敲代码才证明你多牛逼)
2.2使用
(1)New Workspace --> New REST Project,这里就不截图演示了,练习的时候可以不新建workspace,但是在实际中最好还是新建空间,这样比较好管理。因为我是做HTTP接口所以选择了REST,至于REST与SOAP有什么区别可以查看前面的博文,还不清楚则可以百度。
(2)新建REST Project,输入接口全路径,则会自动生成请求,添加请求的参数

(3)New Testsuite测试帐套,帐套下面可以包括多个testcase

(4)New Testcase测试用例,测试用例是核心步骤
(5)选中Test Steps,新建测试步骤,选择Add steps --> DataSource,第一步先把测试用例设计好,然后添加到数据源,数据源主要就是把excel写好的测试用例导入

(6)选中Test Steps,新建测试步骤,选择Add steps --> HTTP test Request,第二步是发送请求,把数据源的数据引入到这步中发送请求。如下图,选择from标签,把请求值对应数据源中引入的数据

(7)选中Test Steps,新建测试步骤,选择Add steps --> Groovy Script,第三步是把预期结果与实际结果对比然后输出结果

(8)选中Test Steps,新建测试步骤,选择Add steps --> DataSink,第四步是把实际结果,以及是否通过的结果写入到excel中

(9)选中Test Steps,新建测试步骤,选择Add steps --> DataSource Loop,第五步是循环,把整个excel中所有的测试用例执行完成才结束,这一步一定要放在最后,也就是把前面所有流程都执行一遍再循环

(10)执行,选择Testsuite执行
参考技术A 用poi写入:
//写入字符到指定文件
newFile('D:\\soapui.xls').withWriterAppend( 'UTF-8' ) w->
w<<message+","+fandom_creator_sn+"\n"+message+","+fandom_creator_sn

怎么将Python的运行结果导出为csv格式?

我将缺失数据填补之后生成的新数据怎么保存成csv? 看了网上的教学,但是却出现了'numpy.ndarray' object has no attribute 'to_csv'的错误,希望大佬帮忙解答

参考技术A 兄弟,python下面自带了csv模块,直接import调用就行了
将内存中的数据写入到csv文件的话,直接open一个新文件,用csv下的writer方法就可以将数据写入到csv本地文件
参考技术B 将 list 或 numpy.narray 类型的数据导出为csv文件(同理可扩展到导出为excel,即写入的文件格式为xls,且最后使用to_excel()方法) 参考技术C 兄弟,你这个只能用pandas的to_csv()函数 参考技术D 如果你是想把全部的空格都替换成逗号的话,

import re
然后在fobj.writelines(output)前一行
re.sub(" ",",",output)
如果是把bytes=128 time=382ms TTL=44这三项前面的空格换成逗号的话,那就用

re.sub(" (?=(bytes|time|TTL))",",",output)
import csv

csvfile = open('csv.csv', 'wb') #打开方式还可以使用file对象
writer = csv.writer(csvfile)
writer.writerow(['姓名', '年龄'])

data = [
('小河', '25'),
('小芳', '18')
]
writer.writerows(data)

csvfile.close()使用csv模块
有个csv工具包。代码如下:
import csv
filename = 'aaa.csv'
f = open(filename,'w')
writer = csv.writer(f)
f.close()
这就创建了一个文件。
想写入什么,用writer语句就好。

以上是关于怎么样将soapui的运行结果写入excel的主要内容,如果未能解决你的问题,请参考以下文章

python怎么把输出结果写入excel

soapui 碰到数组怎么填充数据

soapui接口测试怎么连接数据库进行测试

springMVC怎么把结果集写入Excel并导出

Excel公式Date公式怎么用

python接口测试-将运行结果写入Excel表格