2017-07-16 98 views
0

任何人都可以幫助我解決查詢問題在Selenium Java中選擇多下拉列表

有2個下拉列表。一個下拉菜單包含所有「國家」,第二個下拉菜單包含所有「國家」。您必須從「國家/地區」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); 
+0

類似於您選擇印度的方式,請在首次下降選擇印度。然後從第二個下拉開始計數,就像您在代碼中的第一個下拉列表所做的那樣... –

+0

什麼是您的確切手動步驟?在你提到的有關'計數','檢索','驗證所有'狀態''的描述中,是的,我們可以'計數'和'檢索',但覈實所有的「狀態」是什麼?謝謝 – DebanjanB

回答

0

這裏是回答你的問題:

假設你想要從下拉的所有選項,計數和驗證所選擇的選項,您可以考慮使用下面的代碼塊。該代碼塊登錄到Facebook,得到所有的選項從Day下拉,然後選擇28作爲日期,驗證與的28預先定義的值的日期,並打印出結果PassFail

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"); 
     } 
    } 
} 

設我知道這個答案是否是您的問題。