SoapUI Pro具有从外部文件读取数据的功能,例如:excel,csv等。但SoapUI不提供从excel文件读取数据的功能。因此,为了从SoapUI中的excel文件中读取数据,我们需要在groovy脚本中编写一些代码。
我这篇文章我将告诉你,如何从excel文件中读取数据。我正在使用poi jar文件从groovy中的excel文件中读取数据,下载以下jar文件并放入SoapUI lib文件夹。

  • POI-3.8-beta5-20111217.jar
  • POI-例子-3.8-beta5-20111217.jar
  • POI-excelant-3.8-beta5-20111217.jar
  • POI-OOXML-3.8-beta5-20111217.jar
  • POI-OOXML-架构 - 3.8 beta5-20111217.jar
  • POI暂存器-3.8-beta5-20111217.jar
  • dom4j的-1.6.1.jar

在这篇文章中,我为“ConversionRate”API创建了一个SoapUI项目,并创建了一个名为“ConversionRate”的测试用例和测试步骤。所以这里我需要为数据集运行此测试,其中数据在外部excel文件中。

我创建了一个“ReadXLSFile”groovy步骤,并在下面编写代码,从“Book1.xlsx”文件中读取“ConversionRate”API方法的数据。以下是excel文件数据:

 

I have created a “ReadXLSFile” groovy step and write below code to read data from “Book1.xlsx” file for the “ConversionRate” API method. Below is excel file data:

To
From
USD
ALL
AFA
DZD
AWG
BSD
BSD
BDT
GroovyScript Code:


import org.apache.poi.ss.usermodel.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.ss.util.*;
import org.apache.poi.ss.usermodel.*;
import java.io.*; class ExcelReader { def readData() {
def path = "E:\\Automation-WorkArea\\APITest\\Book1.xlsx";
InputStream inputStream = new FileInputStream(path);
Workbook workbook = WorkbookFactory.create(inputStream);
Sheet sheet = workbook.getSheetAt(0); Iterator rowIterator = sheet.rowIterator();
rowIterator.next()
Row row;
def rowsData = []
while(rowIterator.hasNext()) {
row = rowIterator.next()
def rowIndex = row.getRowNum()
def colIndex;
def rowData = []
for (Cell cell : row) {
colIndex = cell.getColumnIndex()
rowData[colIndex] = cell.getRichStringCellValue().getString();
}
rowsData << rowData
}
rowsData
}
} def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def myTestCase = context.testCase ExcelReader excelReader = new ExcelReader();
List rows = excelReader.readData();
def d = []
Iterator i = rows.iterator();
while( i.hasNext()){
d = i.next();
myTestCase.setPropertyValue("From", d[0])
myTestCase.setPropertyValue("To", d[1])
testRunner.runTestStepByName( "ConversionRate")
}

描述:

  • 包含函数“readData”的ExcelReader类,用于从“Book1.xlsx”文件中读取数据。
  • myTestCase.setPropertyValue(“From”,d [0])和myTestCase.setPropertyValue(“To”,d [1])用于设置测试用例“from”和“To”属性值。
  • testRunner.runTestStepByName(“ConversionRate”)此步骤用于运行测试步骤“ConversionRate”
所以这样当我运行测试“ReadXLSFile”从xls文件中读取数据时,将为每个输出数据执行测试“ConversionRate”

excel文件的groovy脚本在SoapUI中进行数据驱动测试的更多相关文章

  1. Coded UI Test中的数据驱动测试

    有关什么是Coded UI Test以及如何使用Coded UI Test可以查看我的另一篇文章:http://www.cnblogs.com/jaxu/p/3706652.html 本文主要介绍如何 ...

  2. C#中实现excel文件批量导入access数据表中

    一 .界面简单设计如下: 二 .代码如下: using System; using System.Collections.Generic; using System.ComponentModel; u ...

  3. pandas 将多个dataframe保存为一个excel文件的多个sheet表中

    # 创建文件 def create(): df1 = pd.DataFrame({"a1": [1, 2, 3], "b1": [4, 5, 6]}) df2 ...

  4. 前端必读:如何在 JavaScript 中使用SpreadJS导入和导出 Excel 文件

    JavaScript在前端领域占据着绝对的统治地位,目前更是从浏览器到服务端,移动端,嵌入式,几乎所有的所有的应用领域都可以使用它.技术圈有一句很经典的话"凡是能用JavaScript实现的 ...

  5. 读取Excel文件中的单元格的内容和颜色

    怎样读取Excel文件中的单元格的内容和颜色 先创建一个Excel文件,在A1和A2中随意输入内容,设置A1的字体颜色为红色,A2的背景为黄色.需要 using Excel = Microsoft.O ...

  6. C#项目中操作Excel文件——使用NPOI库

    转载自:http://blog.csdn.net/dcrmg/article/details/52356236# 感谢-牧野- 实际C#项目中经常会涉及到需要对本地Excel文件进行操作,特别是一些包 ...

  7. 如何在C#中打开和读取EXCEL文件

    这篇文章向您展示如何在C#Windows Forms Application中使用ExcelDataReader,ExcelDataReader.DataSet打开和读取Excel文件.创建一个新的W ...

  8. 如何使用JavaScript导入和导出Excel文件

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. JavaScript是一个涵盖多种框架.直译式.可以轻松自定义客户端的脚本 ...

  9. python 模块openpyxl读excel文件

    使用openpyxl模块来读取excel.要注意openpyxl读不再支持旧的xls格式. 先看一下操作前的excel是什么样子吧.对了,现在只支持xlsx格式的excel读取 我现在想在第三行插入3 ...

随机推荐

  1. Android剖析和运行机制

    Android剖析和运行机制 大纲: 1. Android剖析 Linux内核本地库(Native Libraries)Android运行时(Android Runtime)应用框架 2. Andro ...

  2. solrcloud使用问题记录

    Solr Ping query caused exception: undefined field text [java] view plaincopy <span style="fo ...

  3. Java 基于quartz实现定时 之一(注解方式配置)

    需要在项目里,导入quartz.jar package cn.zr.pringmvctest.trigger; import org.springframework.context.annotatio ...

  4. 2-python代码坑点

    #切片: # L = ['aaa', 'bbb', 'ccc', 'ddd'] # print(L[1 : 3]) #取[1, 3):下标 # L = list(range(100)) # print ...

  5. linux环境配置与使用合集

    配置linux和samba共享 1. 安装linux操作系统 2. 通过windows操作系统ping linux看看是否可以ping通 3. 相关软件安装 a. 安装samba sudo apt-g ...

  6. ensemble 的2篇入门 文章

    python 篇: http://machinelearningmastery.com/ensemble-machine-learning-algorithms-python-scikit-learn ...

  7. 在aspx页面中使用三元表达式

    第一种使用方法:判断GridView绑定的数据是否为空 用GridView或其他控件绑定数据的时候,有时候需要判断从数据库中获取的值是否是空值,然后显示相应的内容,如果在后置代码中写的话只有是在Row ...

  8. css模块化思想(一)

    什么是css模块化思想?(what) 为了理解css模块化思想,我们首先了解下,什么是模块化,在百度百科上的解释是,在系统的结构中,模块是可组合.分解和更换的单元.模块化是一种 处理复杂系统分解成为更 ...

  9. Appium混合应用测试

    Appium测试混合应用 混合应用即是原生应用中间混着html页面,需要在两种类型的页面之间跳转. 测试Android混合应用 前期设置 4.4以下版本使用automationName:Selendr ...

  10. css总结3:Flex 布局教程:Flex-demos(转)

    上一篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法. 你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我只列出代码,详细的语法解释请查阅<Flex布局教程:语法篇&g ...