【问题标题】:Does AEM support selenium automatic testing on editor or author mode?AEM 是否支持编辑器或作者模式下的 selenium 自动测试?
【发布时间】:2020-06-18 18:59:56
【问题描述】:

我一直在使用 Selenium 在预览模式下测试我的 AEM 站点的用户界面。它没有任何技术问题。但是,当我尝试在编辑器或作者模式下运行 selenium 测试时,例如单击 Web 组件以打开组件对话框,我的 Web 驱动程序无法获取 Web 元素并抛出名为 org.openqa.selenium 的异常。 elementnotinteractableexception。

我曾尝试在 StackOverflow 上解决,但没有一个解决方案对我正在做的事情有帮助。

例如,我在 Java 中的 selenium 上有这样的东西:

WebElement button =
    driver.findElement(
        By.cssSelector(
                "div[data-path='/content/components-examples/library/button/jcr:content/root/responsivegrid/test/component/button']"));
button.click();

一旦我尝试使用“button.click()”单击元素,就会引发不可交互的异常。 但是,如果我在预览模式下做同样的事情,除了按钮被点击之外什么都不会发生,并且不会抛出异常。

AEM 是否支持编辑器或作者模式下的 selenium 自动测试?如果是这样,我该如何解决这个问题?

【问题讨论】:

    标签: selenium automation adobe aem ui-automation


    【解决方案1】:

    我不建议对 AEM 作者进行自动化测试,因为组件会不断变化,并且很难获得特定的选择器。

    例如,如果您使用带有数据路径的 cssSelector 选择按钮,那么如果更改了按钮,则会在您定位的特定按钮之前添加更多按钮。

    关于支持 selenium,我不确定,但主要使用 mockito 进行单元测试。希望这会有所帮助。

    【讨论】:

    • 当您说“组件会不断变化并且很难获得特定的选择器”时,您的意思是组件会被作者更改吗?或者,您的意思是 AEM 一直在更改引擎盖下的组件?
    • 组件将由作者更改
    • 有一个简单的解决方案或者这个。要测试页面模板和组件对话,请为您的开发环境创建测试内容并将其替换为每个版本。确保您的测试自动化仅测试此示例内容。为手动测试预留一个单独的空间。确保不要将静态内容部署到登台或生产环境中。
    猜你喜欢
    • 2020-07-09
    • 2011-11-26
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    相关资源
    最近更新 更多