出现上述错误,无法在以下代码下运行 包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"));
}
}
答案 0 :(得分:0)
从错误开始,看来EnterText方法期望使用webelement和字符串作为参数。所以你的代码 (WebElement)LoginPage.PageRepository_Dict.get(“ UserNameField”) 实际上不是将您的字典值转换为WebElement的类型。如果字典的值是String类型的,那么您需要使用类似driver.findelement(“ By”,“ value”)
的方法来获取实际的webelement。