当前位置:  开发笔记 > 编程语言 > 正文

如何将变量从BeforeTest传递给Test annotation

如何解决《如何将变量从BeforeTest传递给Testannotation》经验,为你挑选了1个好方法。

我试图在@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中定义的常量.如何传递这样的变量..?



1> assylias..:

为什么不使用实例变量?

class YourClassTest {

  Sheet wbSheet;

  @BeforeTest public void readExcel(...) {
    wbSheet = wb.getSheet(sheetName);
  }

  @Test public void test() {
    //you can use wbSheet here
  }

}

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有