Загрузка новых данных от поставщика данных до завершения предыдущего теста в TestNG - PullRequest
0 голосов
/ 06 февраля 2019

Я загружаю данные из файла CSV, которые имеют более 1 строки, что означает, что метод Test должен запускаться повторно до тех пор, пока не будут завершены все строки файла CSV.мой код поставщика данных находится здесь:

 @DataProvider(name = "csv")
   public Object[][] getCSVData() throws IOException{

  CSVReader reader = new CSVReader(new FileReader(newCSVFileName));
  String[] cell = null;

  Hashtable<String, String> table = null;

  int rowNum = 0;
  int rows = 0;
  while((cell = reader.readNext()) != null) {
      rows++;
  }

  reader = new CSVReader(new FileReader(newCSVFileName));
  cell = null;

  Object[][] data = new Object[rows - 1][1];
  int col;
  boolean skipFirst = true;

  while((cell = reader.readNext()) != null) {

      if(skipFirst) {
          skipFirst = false;
          continue;
      }

      col = 0;
      table = new Hashtable<String, String>();

      table.put("Company", cell[col++]);
      table.put("URL", cell[col++]);
      table.put("Full Name", cell[col++]);
      table.put("Designation", cell[col++]);
      table.put("Phone Number", cell[col++]);
      table.put("Email Address", cell[col++]);
      table.put("Country", cell[col++]);
      table.put("Product", cell[col++]);
      table.put("Package", cell[col++]);

      data[rowNum][0] = table;

      rowNum++;

  }

  return data;

 }

И мой метод тестирования здесь:

       @Test(priority = 4, dependsOnMethods ="downloadList", 
          dataProviderClass = DataProviders.class, dataProvider = "csv")
      public void installation(Hashtable<String,String> data) throws 
          InterruptedException, IOException {

      String clientCompany = data.get("Company");
      String clientUrl = data.get("URL");
      String clientFullName = data.get("Full Name");
      String clientDesignation = data.get("Designation");
      String clientPhoneNumber = data.get("Phone Number");
      String clientEmailAddress = data.get("Email Address");
      String clientCountry = data.get("Country");
      String clientProduct = data.get("Product");
      String clientPackage = data.get("Package");
    }

Этот метод тестирования выполняется перед завершением предыдущей итерации.что я должен делать?

...