Selenium を使用してスマート GWT アプリをテストしたいと考えています。このために、IDE で 1. user-extensions.js 2. user-extensions-ide.js を追加する必要があります。これにより、ページ上の GWT 要素を検索するための追加の scLocators が提供されます。
Java を使用して上記のページをテストする場合、これらの js ファイルをコードのどこに追加しますか?
Selenium を使用してスマート GWT アプリをテストしたいと考えています。このために、IDE で 1. user-extensions.js 2. user-extensions-ide.js を追加する必要があります。これにより、ページ上の GWT 要素を検索するための追加の scLocators が提供されます。
Java を使用して上記のページをテストする場合、これらの js ファイルをコードのどこに追加しますか?
私がこれにアプローチした方法は、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");
}
}