Как исправить ошибку «Список типов не является универсальным; его нельзя параметризовать с помощью аргументов » в cucumber selenium JAVA

#java #eclipse #drop-down-menu #selenium-chromedriver #cucumber-jvm

#java #eclipse #выпадающее меню #selenium-chromedriver #cucumber-jvm

Вопрос:

Я попытался использовать таблицу данных и реализует свою функцию для извлечения значений из этой таблицы данных Cucumber, я использовал List< Список< Строка>> но это не работает!

public void myfunction(DataTable dt) выдает Throwable {

Список> список = dt.asList(String.class );

driver.findElement(By.id («имя»)).SendKeys(list.get(0).get(0));
driver.findElement(By.id («возраст»)).Клавиши отправки(list.get(0).get(1));
драйвер.findElement(By.id («nphone»)).SendKeys(list.get(1).get(0));
driver.findElement(By.id («адрес»)).Клавиши отправки(list.get(1).get(1));

}

Комментарии:

1. Не могли бы вы, пожалуйста, взглянуть на полное имя List ? Я полагаю, что это не java.util.List тип, а какой-то другой List тип.

Ответ №1:

Используя заголовок, мы можем реализовать таблицу данных очень чистым и точным способом, а таблица данных выглядит так, как показано ниже —

 And fill up the first amp; last name form with the following data
    | First Name | Last Name |
    |    Tom     |    Adam   |
    |   Hyden    | Pointing  |

public void myfunction(DataTable table) throws Throwable {

List<Map<String, String>> list = table.asMaps(String.class,String.class); 

driver.findElement(By.id("name")).sendKeys(list.get(0).get("First Name"));
driver.findElement(By.id("age")).sendKeys(list.get(0).get("Last Name"));
driver.findElement(By.id("nphone")).sendKeys(list.get(1).get("First Name"));
driver.findElement(By.id("address")).sendKeys(list.get(1).get("Last Name"));

}
  

Правила реализации — ниже приведены 2 фрагмента, и самый интересный фрагмент — первый, тот, который предполагает, что аргументом метода является DataTable DataTable . Фрагмент предполагает, что вы должны заменить аргумент DataTable DataTable на любой из:

  - List<E>
 - List<List<E>>
 - List<Map<K,V>>
 - Map<K,V>
 - Map<K, List<V>>
  

Это также говорит нам, что каждый тип, E, K, V должен быть любого из этих типов:

  • Строка
  • Целое число
  • Float,
  • Дважды
  • Байт
  • Короткое
  • Долго
  • BigInteger
  • BigDecimal

Ответ №2:

Проверьте ваш импорт, пожалуйста. Я скачал java.awt.list по ошибке. Это сработало, когда я импортировал java.util.list.

Нравится :

import java.util.list;