Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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
如何从生成的selenium测试用例测试Java中的下拉菜单?_Java_Selenium_Drop Down Menu_Junit - Fatal编程技术网

如何从生成的selenium测试用例测试Java中的下拉菜单?

如何从生成的selenium测试用例测试Java中的下拉菜单?,java,selenium,drop-down-menu,junit,Java,Selenium,Drop Down Menu,Junit,我正在将我的一个Selenium测试用例转换为Java,我遇到了一个问题。测试包括检查下拉菜单中的链接。我的代码在一些链接上偶尔工作。我是否需要在每次链接测试之前添加此项?如果是这样的话,我可以让它成为一种方法 driver.get(baseUrl + "/"); try { driver.findElement(By.cssSelector("a.dropdown-toggle")).click(); } catch (Exception e) { new SendMail(

我正在将我的一个Selenium测试用例转换为Java,我遇到了一个问题。测试包括检查下拉菜单中的链接。我的代码在一些链接上偶尔工作。我是否需要在每次链接测试之前添加此项?如果是这样的话,我可以让它成为一种方法

driver.get(baseUrl + "/");
try {
    driver.findElement(By.cssSelector("a.dropdown-toggle")).click();
}
catch (Exception e)  {
    new SendMail("janet.frank@rodale.com",to_email,"CSS Selector","Error in cssSelector execution");
    errorsFound = true;
}

下面是xpath的方法:

private void executeXpath (String urlName, String value) { 
     String msg = ""; 
     String xPath = "(//a[contains(text(),'" + urlName + "')])[" + value + "]"; 
     try { 
         driver.findElement(By.xpath(xPath)).click(); 
         checkUrl(urlName); 
     } catch (Exception e) { 
         msg = urlName + " test was not successful"; 
         new SendMail("janet.frank@rodale.com",to_email,urlName,msg); 
         errorsFound = true; 
     } 
 // driver.navigate().back(); 
    wait_fiveSeconds(); 
} 

我尝试过等待,在每个链接之前执行CSS下拉方法,但是我没有停留在主标题上,这样下拉列表就不起作用了


所以我看到了这个代码示例,但是我应该导入什么以便创建和操作链呢

Actions action = new Actions(webdriver); 
WebElement we = webdriver.findElement(By.xpath("//html/body/div[13]/ul/li[4]/a")); 
action.moveToElement(we).build().perform();

我需要让我的代码执行链接并转到新页面,但它似乎没有使用Actions API来执行。任何帮助都将不胜感激。

下面是xpath的方法:private void executeexpath(String urlName,String value){String msg=“”;String xpath=“(//a[contains(text(),“+urlName+”)]”][“+value+”””;尝试{driver.findElement(By.xpath(xpath))。单击();检查URL(urlName);}捕获(例外e){msg=urlName+“测试未成功”;新建SendMail(“janet。frank@rodale.com“,to_email,urlName,msg);errorsFound=true;}//driver.navigate().back();wait_fiveSeconds();}我尝试过等待,在每个链接之前执行CSS下拉方法,但如果我停留在主标题上方,使下拉列表保持可见,则无法工作:(所以我看到了这个代码示例,但是我应该导入什么才能创建和操作链呢?.Actions action=newactions(webdriver);WebElement we=webdriver.findelelement(By.xpath(“//html/body/div[13]/ul/li[4]/a”);action.moveToElement(we.build().perform());我需要让我的代码执行链接并转到新页面,但使用Actions API似乎没有这样做。如有任何帮助,将不胜感激。