Как создать имя переменной путем объединения двух разных переменных - PullRequest
1 голос
/ 12 июня 2019

Я получаю значения из CSV-файла и затем сохраняю его в виде строки, теперь эти строки представляют собой данные, которые я передаю с помощью sendKeys в Selenium.Теперь дело в том, что я хочу объединить переменную этих строк с числом циклов for, так как я могу это сделать?

String csvFile = "/home/Miscellaneous/demo.csv";
CSVReader csv_reader = new CSVReader(new FileReader(csvFile));
List<String[]> strings = csv_reader.readAll();
for(int dime=2 ;dime<strings.size() ;dime++)
{
//Get data from csv file
    String[] csvCell = strings.get(dime);
    String no_of_new_rows_temp = csvCell[2];
    Integer no_of_new_rows = Integer.valueOf(no_of_new_rows_temp);
    String dim_label_1 = csvCell[3];

    for (int no_of_new_rows_fill = 0; no_of_new_rows_fill <= no_of_new_rows; no_of_new_rows_fill++)
    {
//Add Dimentions
        driver.findElement(By.name("dimension[label]["+no_of_new_rows_fill+"]")).sendKeys("dim_label_" + no_of_new_rows_fill);
    }
}

Приведенный выше код возвращает мои ожидания, но это как строка, тогда как мне это нужнов качестве переменной.

Мой ожидаемый вывод должен быть таким образом, что "dim_label_" & "no_of_new_rows_fill" в sendKeys должны создать

dim_label_1

, с помощью которого я могу отправлять данные CSV-файла dim_label_1в поле.

1 Ответ

1 голос
/ 12 июня 2019

Создать динамическую переменную в Java невозможно. Но вы можете использовать Java-коллекцию здесь, чтобы решить эту проблему

 String csvFile = "/home/Miscellaneous/demo.csv";
 CSVReader csv_reader = new CSVReader(new FileReader(csvFile));
 List<String[]> strings = csv_reader.readAll();
 Map<String,String> map = new HashMap()<String,String>;
 for(int dime=2 ;dime<strings.size() ;dime++)
 {
 //Get data from csv file
     String[] csvCell = strings.get(dime);
     String no_of_new_rows_temp = csvCell[2];
     Integer no_of_new_rows = Integer.valueOf(no_of_new_rows_temp);
     //String dim_label_1 = csvCell[3];
    map.put("dim_label"+dime,csvCell[3]);
     for (int no_of_new_rows_fill = 0; no_of_new_rows_fill <= no_of_new_rows; no_of_new_rows_fill++)
     {
 //Add Dimentions
         //driver.findElement(By.name("dimension[label]["+no_of_new_rows_fill+"]")).sendKeys("dim_label_" + no_of_new_rows_fill);
        driver.findElement(By.name("dimension[label]["+no_of_new_rows_fill+"]")).sendKeys(map.get("dim_label_" + no_of_new_rows_fill));
     }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...