2017-07-16 4 views
0

Kann mir jemand helfen Lösung für AbfrageAuswahl von Multi Dropdown in Selen Java

Es gibt 2 Dropdown. Ein Dropdown enthält alle "Länder" und das zweite Dropdown enthält alle "Staaten". Sie müssen alle Werte von "Country" Dropdow holen. Wählen Sie das Land als "US" aus und müssen Sie alle "Zustände" (im 2. Dropdown) des Landes ("USA") zählen, abrufen und überprüfen. Ich habe den Code geschrieben, aber kann nicht abgeschlossen werden

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

ähnlich wie Sie Indien ausgewählt haben, wählen Sie Indien im ersten Dropdown-Menü. Dann holen Sie sich die Anzahl aus dem zweiten Drop-Down-Menü wie beim ersten Drop-Down im Code ... –

+0

Was ist Ihr genauer manueller Schritt? In der Beschreibung, die Sie über 'Count, retrieve, verify alle" states "' erwähnt haben, können wir 'Count' und' retrieve' aber alle "states" in Bezug auf was? Vielen Dank – DebanjanB

Antwort

0

Hier ist die Antwort auf Ihre Frage ist:

Unter der Annahme, dass Sie alle Optionen aus einer Dropdown-Liste abrufen möchten, zählen und die gewählte Option überprüfen Sie können Verwenden Sie den folgenden Codeblock. Dieser Code-Block meldet sich Facebook, bekommt alle Optionen von Day DropDown, wählt dann 28 als das Datum, überprüft das Datum mit dem vordefinierten Wert von 28 und druckt das Ergebnis Pass oder 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"); 
     } 
    } 
} 

Let Ich weiß, ob das Ihre Frage beantwortet.