簡體   English   中英

使用Groovy腳本在SoapUI上閱讀XLS-RowSelector

[英]XLS reading on SoapUI using Groovy Script - RowSelector

我正在嘗試讀取XLS文件以供將來迭代使用。 但是我什至無法獲得它的價值。

我的代碼是:

import jxl.*
import jxl.write.*

def value1
def value2
def value3

//pull value from test suite properties
def RowSelector = testRunner.testCase.testSuite.getPropertyValue( "RowSelector" )

//Read Excel
Workbook wb = Workbook.getWorkbook(new File("C:\\groovy\\excel-file.xls"))

log.info(RowSelector)
value1 = wb.getSheet(0).getCell(0, RowSelector).getContents() //cell A1
                                        testRunner.testCase.testSuite.setPropertyValue( "TestSuitevalue1", value1 )
                                        log.info("Value1 Is: " + value1)

但是錯誤返回: Groovy錯誤

我發現“ RowSelector”變量為空。 也許這就是問題所在,但我無法解決。

觀察員:我從以下網址獲取了此代碼示例: https : //community.smartbear.com/t5/SoapUI-Pro/Get-xls-data-in-loop-in-groovy-script/td-p/27864

getCell(a,b)方法使用整數作為參數,而您從testSuite屬性獲取的值是一個字符串。 從屬性表中獲取值時,它是一個字符串。 當您要更新屬性表中的字段時,請記住這一點,因為您必須將整數值改回字符串。

更改行:

def RowSelector = testRunner.testCase.testSuite.getPropertyValue( "RowSelector" )

為此:

def RowSelector = testRunner.testCase.testSuite.getPropertyValue( "RowSelector" ).toInteger()

我將您使用的代碼分解為自己的部分。 我個人認為嘗試找出錯誤發生的位置時將代碼分解會有所幫助。

// IMPORT THE LIBRARIES WE NEED
import jxl.*
import jxl.write.*
//Get cell row number
def RowSelector = testRunner.testCase.testSuite.getPropertyValue( "RowSelector" ).toInteger()
//Get workbook
Workbook wb= Workbook.getWorkbook(new File("C:\\ExcelFile.xls"))
//Get worksheet
Sheet ws = wb.getSheet(0)
//Get cell
Cell a = ws.getCell(1, RowSelector) // getCell(column,row)
//Close workbook
workbook.close()
//Asign value of cell to variable
A = a.getContents()

log.info A

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM