类型AutomationTest中的EnterText(WebElement,String)方法引用缺少的WebElement类型

时间:2019-01-07 08:55:52

标签: selenium selenium-webdriver

出现上述错误,无法在以下代码下运行 包com.FlightReservation.Pages;

import java.io.IOException;

导入com.Pdas.TestAutomation.Pages.Page; 导入com.Pdas.TestAutomation.Utilities.Factory;

公共类LoginPage {

Page LoginPage;
public LoginPage()
{

    LoginPage=Factory.FactoryMethod("Desktop","Chrome", this.getClass().getSimpleName());

    try 
    {
        LoginPage.Test.SetupTest();
    } 
    catch (IOException | InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    LoginPage.GenerateLocatorStratergyAndLocatorDictionary();

    LoginPage.Test.WaitTillElementFound(LoginPage.Locator_Stratergy_Dict.get("SignInBtn").toString() , LoginPage.Locator_Dict.get("SignInBtn").toString()); 
    LoginPage.GeneratePageRepository();


}

public void EnterUserName(String Uname)
{

    LoginPage.Test.EnterText((WebElement) LoginPage.PageRepository_Dict.get("UserNameField"), Uname);

}


public void EnterPassword(String Pass)
{
    LoginPage.Test.EnterText((WebElement) LoginPage.PageRepository_Dict.get("PasswordField"), Pass);

}

public void ClickSigninButton()
{

    LoginPage.Test.ClickElement((WebElement) LoginPage.PageRepository_Dict.get("SignInBtn"));
}

}

1 个答案:

答案 0 :(得分:0)

从错误开始,看来EnterText方法期望使用webelement和字符串作为参数。所以你的代码    (WebElement)LoginPage.PageRepository_Dict.get(“ UserNameField”) 实际上不是将您的字典值转换为WebElement的类型。如果字典的值是String类型的,那么您需要使用类似driver.findelement(“ By”,“ value”)

的方法来获取实际的webelement。