简体   繁体   English

如何验证Selenium Webdriver 2中下拉值的顺序?

[英]How to verify the order of the dropdown values in selenium webdriver 2?

I am newbie to selenium web driver. 我是Selenium Web驱动程序的新手。 I just wanted verify the order of the dropdown values. 我只想验证下拉值的顺序。

Eg, i have one drop down for : Service Provider. 例如,我有一个下拉菜单:服务提供商。

It has 7 Values. 它具有7个值。 Aircel, Airtel, BSNL, Docomo, Idea, Reliance, Vodofone. Aircel,Airtel,BSNL,Docomo,Idea,Reliance,Vodofone。 This dropdown values are sorted based on the Ascending order. 该下拉值基于升序排序。

How to verify that there only 7 values and the order is correct? 如何验证只有7个值且顺序正确?

Thanks 谢谢

Following piece of code should help: 以下代码段应有所帮助:

// Create expected list :: This will contain expected drop-down values
ArrayList expectedDropDownItems = new ArrayList();
expectedDropDownItems.add("Aircel");
expectedDropDownItems.add("Airtel");
expectedDropDownItems.add("BSNL");
expectedDropDownItems.add("Docomo");
expectedDropDownItems.add("Idea");
expectedDropDownItems.add("Reliance");
expectedDropDownItems.add("Vodofone");

// Create a webelement for the drop-down
WebElement serviceProviderDropDownElement = driver.findElement(<locator of the drop-down e.g. By.id, By.xpath etc.>);

// Instantiate Select class with the drop-down webelement
Select serviceProviderDropDown = new Select(serviceProviderDropDownElement);

// Retrieve all drop-down values from the app and store in actual list
List<WebElement> valuesUnderServiceProviderDropDown  = serviceProviderDropDown.getOptions();

ArrayList actualDropDownItems = new ArrayList();

for(WebElement value : valuesUnderServiceProviderDropDown){
    actualDropDownItems.add(value.getText());
}

// Verify Drop-down contains ONLY 7 values
if(valuesUnderServiceProviderDropDown.size()==7)
    System.out.println("Drop-down contain exactly 7 values");

else
    System.out.println("Drop-down doesn't contain exactly 7 values");

// Compare expected and actual list
for (int i = 0; i < actualDropDownItems.size(); i++) {
    if (!expectedDropDownItems.get(i).equals(actualDropDownItems.get(i)))
    System.out.println("Drop-down values are NOT in correct order");
}

You can get the dropdown value count using the below code. 您可以使用以下代码获取下拉值计数。

Webelement ele = driver.findElement(By.id("Dropdown Locator Value"));
Select sel = new Select(ele);
List<WebElement> list  = ele.getOptions();
System.Out.println("Drop down Value Count :" + list.size());
// To display the drop down value
for(WebElement e : list){
System.Out.println("Drop down Value :" + e.getText());
}

You can check the value of the drop down by comparing the retrieved value and the expected value. 您可以通过比较检索到的值和期望值来检查下拉列表的值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM