[英]Selenium Webdriver error “Element is not clickable at point” PrimeFaces SelectOneMenu
我已经检查了许多有关此错误的问题,但是我发现那里没有一种解决方案对我有用。 我对SelectOneMenu元素的测试适用于FF和IE,但不适用于Chrome。
driver.findElement(By.id("csbform:bankszamlaSelectOne_label")).click();
我不知道如何解决该问题,但是我知道这是什么。 当我选择列表的一个选项时,主要面孔下拉列表组件(selectonemenu)进行ajax调用,这将更改另一个下拉菜单的选项(这是id =“ csbform:bankszamlaSelectOne_label”的选项),我应该等待其完成。 我使用以下函数来等待ajax完成: 可以在此处找到该函数,并且该函数在FF和IE中就像魅力一样工作。
我的主要问题是我找不到适合Chrome的解决方案。 我不想在测试中使用任何thread.Sleep()函数,因为这不是等待未知时间的解决方案。 这将是1-2秒,但由于Web应用程序正在运行的服务器的负载而将更多。 因此,这是不可预测的。
我尝试了javascript执行程序来向上或向下滚动,但是它没有用,我还尝试了期望条件,等待元素可单击,但是什么也没有。
请帮助我,因为我没有其他解决办法。
发生问题的html代码:
<h:panelGroup layout="block" styleClass="input-row input-select">
<h:outputLabel styleClass="label" value="#{msgs.Partner}"/>
<h:panelGroup layout="block" styleClass="input-container">
<p:selectOneMenu effectSpeed="120" id="partnerSelectOne" value="#{csopBeszFelvitelManagedBean.selectedPartner}" styleClass="fullwidth">
<f:selectItems value="#{csopBeszFelvitelManagedBean.partnerListaSelectItems}"/>
<f:converter converterId="EntityConverter"/>
<p:ajax update="bankszamlaSelectOne, csodeljaras"/>
</p:selectOneMenu>
<p:message for="partnerSelectOne" />
</h:panelGroup>
</h:panelGroup>
<h:panelGroup layout="block" styleClass="input-row input-select">
<h:outputLabel styleClass="label" value="#{msgs.Szamla}"/>
<h:panelGroup layout="block" styleClass="input-container">
<p:selectOneMenu effectSpeed="120" id="bankszamlaSelectOne" value="#{csopBeszFelvitelManagedBean.selectedBankszamla}" styleClass="fullwidth">
<f:selectItems value="#{csopBeszFelvitelManagedBean.bankszamlaListaSelectItems}"/>
<f:converter converterId="EntityConverter" />
<p:ajax update="partnerSelectOne" />
</p:selectOneMenu>
<p:message for="bankszamlaSelectOne" />
</h:panelGroup>
</h:panelGroup>
问题已经解决。 有一个primefaces block-ui元素会阻止屏幕显示某些毫秒。 它足够快,对于用户来说是不可见的,并且消失得还不够快,但是ajax队列已经清空,但是我的测试失败了。 我为该blocker元素提供了唯一的ID,现在我正在使用Expectedconditions.invisibilityof()函数来确保当我尝试单击第二个selectonemenu时屏幕上没有block-ui元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.