问题描述
我已经创建了使用By定位器的POM。现在,我需要从下拉列表中选择一个值,但是代码没有选择选项。在我的Utils文件夹中,这是我创建的用于从下拉列表中选择值的方法
public void selectvaluefromdropdown(By locator,String value)
{
List<WebElement> options = driver.findElements(locator);
for(int i=0;i<options.size();i++)
{
String option = options.get(i).getText();
System.out.println("display all the options:"+ option);
if(option.equalsIgnoreCase(value))
{
options.get(i).click();
break;
}
}
}
}
In the page I have created a method calling the methods from the `elementutils` but in this case.
我不确定它如何从selectdrop
向下获取值...方法的最后一行是类别下拉列表,用于单击下拉列表中包含xpath的类别选择使用“按定位器”创建的下拉菜单。
By category = By.xpath("//div[@name='category']");
现在,在“测试页”中,我创建了数据提供程序,它将从Excel中读取值
@DataProvider
public Object[][] getNewCompanydetails()
{
Object[][] data = ExcelUtil.getTestData(AppConstants.New_Company_Sheet_Name);
return data;
}
并且Test方法用于从Excel调用值,现在我刚刚将参数类别设置为字符串....当我运行此测试时,我得到了Data Mismatch ...,这很可能是因为没有输入参数来选择值..不知道如何进行。有人可以帮忙吗?
@Test(priority=3,dataProvider="getNewCompanydetails")
public void getCompanyDetails(String firstname,String lastname,String middlenames,String
emailaddress,String category)
{
contactspage.enterallfielddetails(firstname,lastname,middlenames,emailaddress,category);
}
public void enterallfielddetails(String fname,String lname,String midname,String mail,String cate)
{
elementutils.waitforElementPresent(firstname);
elementutils.doSendKeys(firstname,fname);
elementutils.waitforElementPresent(lastname);
elementutils.doSendKeys(lastname,lname);
elementutils.waitforElementPresent(middlename);
elementutils.doSendKeys(middlename,midname);
elementutils.waitforElementPresent(email);
elementutils.doSendKeys(email,mail);
elementutils.selectvaluefromdropdown(category,cate);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)