java - 如何创建自己的 TypifiedElement

标签 java selenium webdriver htmlelements

如何创建自己的 TypifiedElement 以便在 HtmlElement 中使用它?

我创建了自己的 CustomElement

 public class YesNoRadio extends TypifiedElement {

     protected YesNoRadio(WebElement wrappedElement) {
        super(wrappedElement);
     }

 .... // some other methods here

 }

并尝试使用它,但在初始化元素时在我的基本页面上出现异常

 PageFactory.initElements(new HtmlElementDecorator(driver), this);

我的异常(exception)

ru.yandex.qatools.htmlelements.exceptions.HtmlElementsException: java.lang.NoSuchMethodException: No such accessible constructor on object: com.mycompany.testing.htmlelements.company.element.YesNoRadio
        at ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementFactory.createTypifiedElementInstance(HtmlElementFactory.java:51)
        at ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementDecorator.decorateTypifiedElement(HtmlElementDecorator.java:102)
        at ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementDecorator.decorate(HtmlElementDecorator.java:66)
        at org.openqa.selenium.support.PageFactory.proxyFields(PageFactory.java:115)
        at org.openqa.selenium.support.PageFactory.initElements(PageFactory.java:107)
        at ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementDecorator.decorateHtmlElement(HtmlElementDecorator.java:115)
        at ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementDecorator.decorate(HtmlElementDecorator.java:70)
        at org.openqa.selenium.support.PageFactory.proxyFields(PageFactory.java:115)
        at org.openqa.selenium.support.PageFactory.initElements(PageFactory.java:107)
        at com.mycompany.testing.cds.PageBase.<init>(PageBase.java:46)

我的错误在哪里以及如何更正我自己的 TypifiedElement? 谢谢

最佳答案

从堆栈跟踪来看,您创建 YesNoRadio 实例的类可能位于不同的包中。因此,您需要将后者的构造函数声明为 public

public YesNoRadio(WebElement wrappedElement) {

关于java - 如何创建自己的 TypifiedElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27670374/

相关文章:

Java - Selenium - boolean 方法总是返回 false

python - 如何在不等待 30 秒超时的情况下测试元素是否缺失

java - libGDX 游戏在 Android 上崩溃,没有任何日志/错误

java - GroovyScriptEngine 在 Web 容器中定位资源

java - 如何向 ShardRegion 中的所有 Actor 发送消息

java 已启动但返回退出代码

java - 如何处理 Selenium Webdriver 中由于服务器响应时间导致的脚本失败?

javascript - 如何验证搜索中是否只存在匹配元素?

java - WebDriver 适用于 Chrome,但不适用于 Internet Explorer

java - Selenium WebDriver - 两部分 - 1) AssertEquals 失败测试失败 2) 验证元素不存在