0

我正在为挂毯应用程序编写一些测试。PageTester 提供了一个 clickLink 方法来模拟对链接的点击。我需要相同的功能,但使用按钮(不是使用“a”元素)。我怎么可能做到呢?

代码示例,这就是我知道该怎么做:

@Test
public void clickLink(){

    Document document = pageTester.renderPage("Index");

    assertTextPresent(document, "Current value:0");

    Element link = document.getRootElement()
            .getElement(new Predicate<Element>() {
                public boolean accept(Element element) {
                    return element.getName().equals("a")
                            && element.getChildMarkup().equals("Increment");
                }
            });

    document = pageTester.clickLink(link);

    assertTextPresent(document, "Current value:1");

    document = pageTester.clickLink(link);

    assertTextPresent(document, "Current value:2");
}

但问题是 clickLink 只接受 'a' 元素。那么我怎样才能获得相同的功能,但是当我有按钮时,它会产生一些 aciton(不是链接)。

4

1 回答 1

2

正如挂毯文档所述 - “PageTester 处于纯单元测试和全面集成测试之间的中间地带。”

PageTester 是一个纯 java 模拟,可以模拟:

  1. 点击一个<t:eventlink>
  2. 点击一个<t:actionlink>
  3. 提交一份<t:form>
  4. 点击一个<t:submit>

如果您创建<button>并附加了一个onclickjavascript 处理程序,则 PageTester 无法模拟这一点,因为它实际上并不运行任何 javascript。如果你想测试 javascript,你需要使用selenium

于 2013-07-10T09:10:35.687 回答