我正在尝试在 @BeforeTest 方法中从 excel 读取数据,并尝试在 testNG 中的 @Test 方法中打印相同的数据。我已读取工作表中的数据
@BeforeTest
@Parameters({"filePath", "fileName", "sheetName"})
public void readExcel(String filePath, String fileName, String sheetName) throws IOException, EncryptedDocumentException, InvalidFormatException{
// set the file path
File eFile = new File(filePath+"\\"+fileName);
//print the file path
System.out.println("File is at: "+eFile);
FileInputStream inputstream = new FileInputStream(eFile);
// Read and publish extension
String extensionName = fileName.substring(fileName.indexOf("."));
System.out.println("File type is: "+extensionName);
//Read the file
Workbook wb = new XSSFWorkbook(inputstream);
//Read the sheet name
Sheet wbSheet = wb.getSheet(sheetName);
}
我想将 wbSheet 传递给 @Test 方法来打印数据并将数据写入 Excel。 @Parameters 正在寻找 testng.xml 中定义的常量。如何传递这样的变量..?
最佳答案
为什么不使用实例变量?
class YourClassTest {
Sheet wbSheet;
@BeforeTest public void readExcel(...) {
wbSheet = wb.getSheet(sheetName);
}
@Test public void test() {
//you can use wbSheet here
}
}
关于java - 如何将变量从 BeforeTest 传递到 Test 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34292979/