Как исправить ошибку «Тип списка не является универсальным; его нельзя параметризировать с аргументами <String>» в огуречном селене JAVA - PullRequest
0 голосов
/ 22 апреля 2019

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

public void myfunction (DataTable dt) выбрасывает Throwable {

List> list = dt.asList (String.class);

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

}

1 Ответ

2 голосов
/ 22 апреля 2019

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

And fill up the first & 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 должен быть любого из следующих типов:

  • Строка
  • Integer
  • Float
  • Двойной
  • байт
  • Short
  • Long
  • BigInteger
  • BigDecimal
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...