0

Selenium を使用してスマート GWT アプリをテストしたいと考えています。このために、IDE で 1. user-extensions.js 2. user-extensions-ide.js を追加する必要があります。これにより、ページ上の GWT 要素を検索するための追加の scLocators が提供されます。

Java を使用して上記のページをテストする場合、これらの js ファイルをコードのどこに追加しますか?

4

1 に答える 1

0

私がこれにアプローチした方法は、Java コードから拡張ファイルを指定できる SeleniumServer メソッドを使用することでした。

実際の SmartGWT の例は次のとおりです。

public class Example  {

SeleniumServer server = null;
Selenium selenium = null;
HttpCommandProcessor proc = null;

@Before
public void setUp() throws Exception {
    RemoteControlConfiguration config = new RemoteControlConfiguration();
    config.setUserExtensions(new File("bin/selenium/user-extensions.js"));
    server = new SeleniumServer(config);

    server.boot();

    proc = new HttpCommandProcessor("localhost",
            4444,
            "*firefox",
            "http://test");

    selenium = new DefaultSelenium(
             proc);
    selenium.start();
    selenium.open("http://test");

}
@Test      
public String justATest() {
    execCommand("waitForElementClickable", "scLocator=//Window[ID=\"errorWindow\"]/item[0][Class=\"Label\"]/");
    String elementTest = selenium.getText("scLocator=//Window[ID=\"errorWindow\"]/item[0][Class=\"Label\"]/");
    assertEquals(elementTest, "lorem");
}
protected String execCommand(String command, String locator) {
    String[] locatorArg = {locator};
    return proc.doCommand(command, locatorArg);
}

@After
public void stopSelenium() {
    System.out.println("in after hook");
    if (selenium != null) {
        selenium.deleteAllVisibleCookies();
        selenium.stop();
    }

    if (server != null) {
        server.stop();
    }
    System.out.println("after after hook");
}
}
于 2013-09-30T07:40:53.707 に答える