java - 如何修复 cucumber Selenium JAVA中的 "The type List is not generic; it cannot be parameterized with arguments <String>"错误

标签 java eclipse drop-down-menu selenium-chromedriver cucumber-jvm

我尝试使用数据表并实现我的函数来获取 来自此 Cucumber 数据表的值,我使用了 List< List< String >> 但 它不起作用!

public void myfunction(DataTable dt) throws 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));

}

最佳答案

使用标题,我们可以以更加干净和精确的方式实现数据表,并考虑数据表如下所示 -

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 必须属于以下任何类型:

  • 字符串
  • 整数
  • float ,
  • 字节
  • 简短
  • 大整数
  • 大十进制

关于java - 如何修复 cucumber Selenium JAVA中的 "The type List is not generic; it cannot be parameterized with arguments <String>"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55793559/

相关文章:

jquery - 任何人都可以帮助我使用 jquery 创建光滑的下拉菜单吗?

javascript - Src 更改在 Firefox 中有效,在 IE/Chrome 中无效

java - 在 Selenium 中选择下拉值的方法

javascript - mouseover 和 mouseout 事件触发 child

Java 在一个类中打开文件流并在另一个类中关闭/删除文件

Android SDK Manager - 我应该选择安装哪个包?

java - 可以反编译Java程序

android - 如何开发像静态网站一样的Android应用程序?

java - 检测数字是否为 7 的倍数或包含数字 7

java - Vaadin 7与websockets