Arquillian:如何等待元素中的文本等于某个值

时间:2014-09-24 11:40:16

标签: equals wait jboss-arquillian

我尝试写Arquillian测试。我想等到ajax请求完成(当outputText上的值改变时)。我尝试使用以下代码实现这一点:

Graphene.waitAjax().until().element(outputText).text().equals("something");

但它不起作用(等待)。

JSF代码(在test.xhtml页面上):

<h:form id="myForm">
 <h:outputText value="#{controller.text}" id="textValue" />
  <h:commandButton value="change" id="changeButton">
   <f:ajax render="textValue" listener="#{myCounter.changeText()}" />
  </h:commandButton>
</h:form>

测试方法:

@Test
public void myTest(){
 browser.navigate().to(contextPath + "faces/test.xhtml");
 WebElement changeButtonElement = browser.findElement(By.id("myForm:changeButton"));
 WebElement valueElement = browser.findElement(By.id("myForm:textValue"));

 changeButtonElement.click();
 Graphene.waitAjax().until().element(valueElement).text().equals("something");
 assertEquals("something", valueElement.getText());
}

输出:

org.junit.ComparisonFailure: expected:<[something]> but was:<[init]>

0 个答案:

没有答案