AEM 是否支持编辑器或作者模式下的 selenium 自动测试?
Does AEM support selenium automatic testing on editor or author mode?
我一直在使用 Selenium 在预览模式下测试我的 AEM 站点的用户界面。它是在没有任何技术问题的情况下完成的。但是,当我尝试在编辑器或作者模式下 运行 selenium 测试时,例如单击 Web 组件以打开组件对话框,我的 Webdriver 无法获取 Web 元素并抛出一个名为 的异常org.openqa.selenium.elementnotinteractableexception.
我已经尝试在 Whosebug 上找到解决方案,但是 none 的解决方案对我正在做的事情很有帮助。
例如,我在 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 自动测试?如果是,我该如何解决这个问题?
我不建议对 AEM 作者进行自动化测试,因为组件会不断变化,并且很难获得特定的选择器。
例如,如果您使用带有数据路径的 cssSelector 选择按钮,如果按钮发生更改,则会在您定位的特定按钮之前添加几个按钮。
关于支持 selenium,我不确定,但单元测试主要使用 mockito。希望这有帮助。
我一直在使用 Selenium 在预览模式下测试我的 AEM 站点的用户界面。它是在没有任何技术问题的情况下完成的。但是,当我尝试在编辑器或作者模式下 运行 selenium 测试时,例如单击 Web 组件以打开组件对话框,我的 Webdriver 无法获取 Web 元素并抛出一个名为 的异常org.openqa.selenium.elementnotinteractableexception.
我已经尝试在 Whosebug 上找到解决方案,但是 none 的解决方案对我正在做的事情很有帮助。
例如,我在 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 自动测试?如果是,我该如何解决这个问题?
我不建议对 AEM 作者进行自动化测试,因为组件会不断变化,并且很难获得特定的选择器。
例如,如果您使用带有数据路径的 cssSelector 选择按钮,如果按钮发生更改,则会在您定位的特定按钮之前添加几个按钮。
关于支持 selenium,我不确定,但单元测试主要使用 mockito。希望这有帮助。