如何解决WebElementFacade未单击网页中的元素
我尝试在Serenity-bdd中编写Click()函数,作为在框架中使用的通用方法。但是,我将其存储为WebElementFacade的网页元素可以在Click()函数中调用,如下所示。它没有标识元素并单击。它会以**"NullpointerException"**
的形式抛出错误。请帮助我哪里出错了。
注意:如果我将Webelement用作目标类型,则工作正常。但是我需要元素作为WebElementFacade函数来检查更多条件。请帮助解决
WebElementFacade ->存储在如下所示的其他(.java)中,
public class ParabankForm extends PageObject {
public WebElementFacade REGISTER_BUTTON = $(By.xpath("//*[text()='Register']"));
}
功能
:/*
* Function Name : Click()
* Author: Koushick Sudharsanam
* Purpose: The Actor is used to click on the Webelement Target in Webpage
*
*/
public void Click(Actor act,WebElementFacade target) {
if(target.isDisplayed()||target.isClickable())
{
act.attemptsTo(Click.on(target));
}
else
{
act.wasAbleTo(target.waitUntilClickable());
if(target.isCurrentlyEnabled() && target.isClickable())
{
act.attemptsTo(Click.on(target));
}
}
}
所以在分步定义中,我会这样称呼,
@Then("i click on the RegisterButton")
public void i_click_on_the_register_button() {
Utiltiesfunction.GetInstance().Click(act,obj.REGISTER_BUTTON);
}
错误:
java.lang.NullPointerException
at net.serenitybdd.core.pages.WebElementResolverByLocator.resolveForDriver(WebElementResolverByLocator.java:25)
at net.serenitybdd.core.pages.WebElementFacadeImpl.getResolvedELement(WebElementFacadeImpl.java:234)
at net.serenitybdd.core.pages.WebElementFacadeImpl.getElement(WebElementFacadeImpl.java:229)
at net.serenitybdd.core.pages.WebElementFacadeImpl.isDisplayed(WebElementFacadeImpl.java:1351)
at CucumberRunner.my.commonfunction.Utiltiesfunction.Click(Utiltiesfunction.java:37)
at CucumberRunner.my.stepdefinitions.Parabankdef.i_click_on_the_register_button(Parabankdef.java:84)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。