使用By定位器创建Pom,并使用了数据提供程序,但获取了数据提供程序不匹配下面是代码

问题描述

我已经创建了使用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);
        
    }

这是使用utils来获取方法方法

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 (将#修改为@)