我正在用 Arquillian 测试我的 JSF。
一个简单的按钮如下所示:
<h:form id="myForm">
<a4j:commandLink value="delete"
ajaxSingle="true" id="delete"
action="#{controller.delete(object)}"
reRender="something" status="globalStatus"
onclick="if(!confirm('do you really wanna delete this?')){return false;}" />
</h:form>
控制器功能将如下所示
delete(Object object){
do something
}
我的测试看起来像这样
@RunWith(Arquillian.class)
public class TestCategoryPage extends Browser
@Test
@RunAsClient
public void delete_test(){
browser.open(URL);
browser.click("id=myForm:cbDelete");
Assert.assertTrue("something", browser.isElementPresent("xpath=//p[contains(text(), 'deleted successfull')]"));
所有其他测试都在工作,但是当我运行这个测试时,我得到以下异常:
com.thoughtworks.selenium.SeleniumException:错误:出现意外确认![你真的想删除这个吗?] 在 com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:112)
有什么办法可以捕捉到这个javascript确认吗?谢谢!