Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium webdriver:<;WebElement>;迭代器无法解析为类型_Java_Eclipse_Selenium Webdriver_Automated Tests - Fatal编程技术网

Java Selenium webdriver:<;WebElement>;迭代器无法解析为类型

Java Selenium webdriver:<;WebElement>;迭代器无法解析为类型,java,eclipse,selenium-webdriver,automated-tests,Java,Eclipse,Selenium Webdriver,Automated Tests,我的问题简而言之: 通过我的selenium web驱动程序,我现在正在测试列表框中的元素列表,同时使用下面的代码,我得到了错误 测试配置: Mozilla firefox 靛蓝蚀 Selenium Webdriver 2 我测试的场景: 开放网站 选择并显示列表框项目 写入控制台 我的错误: 错误:未解决的编译问题:类型列表不是泛型的;无法使用参数对其进行参数化,也无法将迭代器解析为类型 我的代码: package com.example.tests; 导入java.util.Iterat

我的问题简而言之

通过我的selenium web驱动程序,我现在正在测试列表框中的元素列表,同时使用下面的代码,我得到了错误

测试配置

  • Mozilla firefox
  • 靛蓝蚀
  • Selenium Webdriver 2
我测试的场景

  • 开放网站
  • 选择并显示列表框项目
  • 写入控制台
  • 我的错误

    错误:未解决的编译问题:类型列表不是泛型的;无法使用参数对其进行参数化,也无法将迭代器解析为类型

    我的代码

    package com.example.tests;
    导入java.util.Iterator;
    导入java.util.regex.Pattern;
    导入java.util.concurrent.TimeUnit;
    导入org.junit.*;
    导入静态org.junit.Assert.*;
    导入静态org.hamcrest.CoreMatchers.*;
    导入org.openqa.selenium.WebElement;
    导入org.openqa.jetty.html.List;
    导入org.openqa.selenium.*;
    导入org.openqa.selenium.firefox.FirefoxDriver;
    导入org.openqa.selenium.support.ui.Select;
    导入com.browsersetup.test.browsersetup;
    导入org.testng.*;
    导入org.testng.annotations.*;
    导入org.testng.annotations.Test;
    @抑制警告(“未使用”)
    公共类sample2扩展了BrowserSetup{
    私有布尔值acceptNextAlert=true;
    私有StringBuffer verificationErrors=新StringBuffer();
    @课前
    public void setUp()引发异常{
    驱动程序=新操作驱动程序();
    baseUrl=”http://www.ebay.com/";
    driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
    System.out.println(“浏览器=”+驱动程序);
    System.out.println(“Base URL=“+baseUrl”);
    }
    @试验
    public void testUntitled()引发异常{
    获取(baseUrl+“/”);
    睡眠(10000);
    WebElement=driver.findElement(By.name(“_sacat”);
    选择dd=新选择(元素);
    List allOptions=dd.getOptions();
    //要浏览列表,我们可以使用迭代器。
    //迭代器应与列表的类型相同
    //在本例中,这是WebElement。
    Iterator it=allOptions.Iterator();
    //使用while循环,我们可以迭代直到列表
    //下一个WebElement[hasNext()为true]
    //列表中的项目数
    System.out.println(allOptions.size());
    while(it.hasNext()){
    //当你说it.next()时,它指向一个特定的
    //列表中的WebElement。
    WebElement el=it.next();
    //按文本检查所需元素并单击它
    if(el.getText().equals(“mango”)){
    System.out.println(el.getAttribute(“值”);
    el.click();
    }
    }
    @下课
    public void tearDown()引发异常{
    driver.quit();
    String verificationErrorString=verificationErrors.toString();
    如果(!“”.equals(verificationErrorString)){
    失败(verificationErrorString);
    }
    }
    私有布尔值isElementPresent(By){
    试一试{
    驱动程序。最终删除(通过);
    返回true;
    }捕获(无接触元素例外e){
    返回false;
    }
    }
    私有布尔值isAlertPresent(){
    试一试{
    driver.switchTo().alert();
    返回true;
    }捕获(NoAlertPresentException e){
    返回false;
    }
    }
    私有字符串closeAlertAndGetItsText(){
    试一试{
    Alert Alert=驱动程序.switchTo().Alert();
    String alertText=alert.getText();
    如果(acceptNextAlert){
    alert.accept();
    }否则{
    警惕。解散();
    }
    返回文本;
    }最后{
    acceptNextAlert=true;
    }
    }
    }
    
    我不知道哪里出了问题,指引我哪里出了问题


    提前感谢

    请参阅
    org.openqa.jetty.html.List的javadocs

    以及
    java.util.List
    中的一个:

    您使用的那个不支持泛型(如错误所示)

    您案例中的问题似乎是以下问题:

    import org.openqa.jetty.html.List;
    
    尝试将其替换为:

    import java.util.List;
    
    有关更多想法,请参见类似问题: