在Katalon Studio中读取和写入来自Excel的数据,可以算成数据驱动测试,下面我们就来看看如何读取和写入:
从Katalon Studio的Excel文件中读取数据:
步骤1:创建一个新的数据文件(excel)示例“demo.xlsx”。
步骤2:在该文件中输入一些数据。
步骤3:在katalon studio中创建一个新的数据文件。
步骤4:浏览外部文件并选择工作表。
步骤5:创建测试用例并在测试用例中定义一些变量。
步骤6:现在创建一个TestSuite并配置一个测试用例。并使用列名绑定变量(note:在case里同样也可以引用Excel中的数据,只需要在input里选择对应的Excel文件和数据的行列即可)。
步骤7:执行case,就会发现数据现在取自Excel文件。
从Katalon Studio向Excel文件中写入数据:
Katalon没有提供向外输入data的关键字,所以我们这里需要自己定义一个keyword来实现,代码如下:
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.annotation.Keyword
import com.kms.katalon.core.checkpoint.Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords
import com.kms.katalon.core.model.FailureHandling
import com.kms.katalon.core.testcase.TestCase
import com.kms.katalon.core.testcase.TestCaseFactory
import com.kms.katalon.core.testdata.TestData
import com.kms.katalon.core.testdata.TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords
import internal.GlobalVariable
import MobileBuiltInKeywords as Mobile
import WSBuiltInKeywords as WS
import WebUiBuiltInKeywords as WebUI
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class WriteExcel {
@Keyword public void demoKey(String name) throws IOException{
FileInputStream fis = new FileInputStream("E:/ExcelSheets/Demo1.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet sheet = workbook.getSheet("Sheet1");
int rowCount = sheet.getLastRowNum()-sheet.getFirstRowNum();
Row row = sheet.createRow(rowCount+1);
Cell cell = row.createCell(0);
cell.setCellType(cell.CELL_TYPE_STRING);
cell.setCellValue(name);
FileOutputStream fos = new FileOutputStream("E:/ExcelSheets/Demo1.xlsx");
workbook.write(fos);
fos.close();
}
}
然后在需要输入data到Excel的测试用例中调用关键字:
WebUI.openBrowser('')
WebUI.navigateToUrl('http://demoaut.katalon.com/')
String result = WebUI.getText(findTestObject('Object Repository/Page_CURA Healthcare Service/a_Make Appointment'))
CustomKeywords.'myPack.WriteExcel.demoKey'(result)
WebUI.closeBrowser()