Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
在SeleniumJava中选择多下拉菜单_Java_Selenium - Fatal编程技术网

在SeleniumJava中选择多下拉菜单

在SeleniumJava中选择多下拉菜单,java,selenium,Java,Selenium,有人能帮我解答这个问题吗 有两个下拉列表。一个下拉列表包含所有“国家”,第二个下拉列表包含所有“国家”。您必须从“Country”Dropdow获取所有值。选择国家为“美国”,并且必须统计、检索、验证国家(“美国”)的所有“州”(在第二个下拉列表中)。我已经写了代码,但无法完成 public class test { static{ System.setProperty("webdriver.chrome.driver", "./drivers/chromedriver.exe"); Syste

有人能帮我解答这个问题吗

有两个下拉列表。一个下拉列表包含所有“国家”,第二个下拉列表包含所有“国家”。您必须从“Country”Dropdow获取所有值。选择国家为“美国”,并且必须统计、检索、验证国家(“美国”)的所有“州”(在第二个下拉列表中)。我已经写了代码,但无法完成

public class test {
static{
System.setProperty("webdriver.chrome.driver", "./drivers/chromedriver.exe");
System.setProperty("webdriver.gecko.driver", "./drivers/geckodriver.exe");  
}
public static void main(String[] args) {
// TODO Auto-generated method stub
WebDriver driver= new FirefoxDriver();

driver.manage().window().maximize();
int count=0, total=0;


driver.get("file:///C:/Users/usetr/Desktop/Country.html");

WebElement alllistBox = driver.findElement(By.id("Country"));


Select slt = new Select(alllistBox);
//Select Country India
slt.selectByVisibleText("India");

//Printing All country in dropdown and thier counts
List<WebElement> alloptions = slt.getOptions();
for (WebElement option : alloptions) {

System.out.println(option.getText());
count++;
}
System.out.println("Number of country present " + count);
公共类测试{
静止的{
System.setProperty(“webdriver.chrome.driver”,“/drivers/chromedriver.exe”);
setProperty(“webdriver.gecko.driver”、“/drivers/geckodriver.exe”);
}
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
WebDriver=newfirefoxdriver();
driver.manage().window().maximize();
整数计数=0,总数=0;
驱动程序。获取(“file:///C:/Users/usetr/Desktop/Country.html");
WebElement alllistBox=driver.findElement(By.id(“国家”);
选择slt=新选择(alllistBox);
//选择国家印度
slt.selectByVisibleText(“印度”);
//在下拉列表中打印所有国家/地区及其计数
List alloptions=slt.getOptions();
for(WebElement选项:alloptions){
System.out.println(option.getText());
计数++;
}
System.out.println(“存在的国家数量”+计数);

以下是您问题的答案:

假设您想从下拉菜单中检索所有选项,计算并验证您可以选择使用以下代码块的选项。该代码块登录到<代码>脸谱网< /代码>,从<代码>日期>代码>下拉菜单中获取所有选项,然后选择<代码> 28 <代码>为日期,用预定义值验证日期。
28
并打印结果
Pass
Fail

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class Q45131741_DropDown_options 
{

    static
    {
        System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");  
    }

    public static void main(String[] args) 
    {

        String date_to_select = "28";
        WebDriver driver= new FirefoxDriver();
        driver.manage().window().maximize();
        driver.get("https://www.facebook.com/");
        WebElement birthdayDay = driver.findElement(By.id("day"));
        Select selectDay = new Select(birthdayDay);
        List<WebElement> day_list = selectDay.getOptions();
        System.out.println("The options for this DropDown are : ");
        for (WebElement day:day_list)
        {
            System.out.println(day.getAttribute("innerHTML"));
        }
        selectDay.selectByVisibleText("28");
        String date_selected = selectDay.getFirstSelectedOption().getText();
        System.out.println("Date selected is : "+date_selected);
        System.out.println("Date to be selected was : "+date_to_select);
        if(date_selected.contains(date_to_select))
        {
            System.out.println("Testcase Passed");
        }
        else
        {
            System.out.println("Testcase Failed");
        }
    }
}
import java.util.List;
导入org.openqa.selenium.By;
导入org.openqa.selenium.WebDriver;
导入org.openqa.selenium.WebElement;
导入org.openqa.selenium.firefox.FirefoxDriver;
导入org.openqa.selenium.support.ui.Select;
公共类Q45131741_下拉菜单_选项
{
静止的
{
System.setProperty(“webdriver.gecko.driver”,“C:\\Utility\\BrowserDrivers\\geckodriver.exe”);
}
公共静态void main(字符串[]args)
{
字符串date_to_select=“28”;
WebDriver=newfirefoxdriver();
driver.manage().window().maximize();
驱动程序。获取(“https://www.facebook.com/");
WebElement birthdayDay=driver.findElement(By.id(“day”);
选择selectDay=新选择(生日);
List day_List=selectDay.getOptions();
System.out.println(“此下拉列表的选项为:”);
用于(WebElement日:日列表)
{
System.out.println(day.getAttribute(“innerHTML”);
}
selectDay.selectByVisibleText(“28”);
字符串date_selected=selectDay.getFirstSelectedOption().getText();
System.out.println(“所选日期为:“+所选日期”);
System.out.println(“要选择的日期是:“+Date\u to\u select”);
如果(选择日期。包含(选择日期))
{
System.out.println(“通过测试用例”);
}
其他的
{
System.out.println(“Testcase失败”);
}
}
}

如果这能回答您的问题,请告诉我。

与您选择印度的方式类似,在第一个下拉菜单中选择印度。然后从第二个下拉菜单中获取计数,就像您在代码中第一个下拉菜单中所做的那样……您的确切手动步骤是什么?在您提到的关于
计数、检索、验证所有“状态”的描述中
,是的,我们可以
计数
检索
,但是要验证与什么有关的所有“状态”?谢谢