Hi,
I have the following sample application:
And this is the class to test the sample application using Selenium
The issue itself is that if I deploy the sample application and run the SeleniumSample then I get the following output from SeleniumSample (the last 3 lines):
"The label2 text is = 'Before double-click'
The button item2 has been double-clicked
The label2 text is = 'Before double-click'".
The output of the application itself is (last 2 lines):
"The button item2 has been clicked
The button item2 has been clicked"
So the output of SeleniumSample and of the application itself shows that the "double-click" event has NOT been trigerred.
But if I switch to Internet Explorer (make HttpCommandProcessor to use "*iexplore" instead of "*firefox") then the double-click event IS trigerred.
The output from SeleniumSample is (last 3 lines):
"The label2 text is = 'Before double-click'
The button item2 has been double-clicked
The label2 text is = 'After double-click'"
And the output of the application itself (last 2 lines):
"The button item2 has been clicked
The button item2 has been double clicked"
Also when I tried to perfrom the double-click manually in FF then everything works fine. The label got updated and I got the application output:
"The button item2 has been clicked
The button item2 has been double clicked"
Can you please let me know if it is a bug in the support of Selenium for SmartGWT or did I miss something?
My environment information is:
- Operating system: Windows XP SP3
- Browsers: IE 7 and FF 3.6.3
- SmartGWT: 2.2
- GWT: 2.0.3
Regards,
Iurii
I have the following sample application:
Code:
public class SeleniumSupportSample implements EntryPoint { public void onModuleLoad() { DynamicForm form = new DynamicForm(); form.setID("Form"); final StaticTextItem staticTextItem = new StaticTextItem("staticTextItem"); staticTextItem.setShowTitle(false); staticTextItem.setValue("Before Click"); ButtonItem buttonItem = new ButtonItem("buttonItem", "Button Item"); buttonItem.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Log.info("The button item has been clicked"); staticTextItem.setValue("After click"); } }); final StaticTextItem staticTextItem2 = new StaticTextItem( "staticTextItem2"); staticTextItem2.setShowTitle(false); staticTextItem2.setValue("Before double-click"); ButtonItem buttonItem2 = new ButtonItem("buttonItem2", "Button Item 2"); buttonItem2.addDoubleClickHandler(new DoubleClickHandler() { public void onDoubleClick(DoubleClickEvent event) { Log.info("The button item2 has been double clicked"); staticTextItem2.setValue("After double-click"); } }); buttonItem2.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Log.info("The button item2 has been clicked"); } }); form.setFields(staticTextItem, buttonItem, staticTextItem2, buttonItem2); form.show(); } }
Code:
public class SeleniumSample { private static final Logger m_log = Logger.getLogger(SeleniumSample.class); /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { SeleniumServer server = null; Selenium selenium = null; try { RemoteControlConfiguration config = new RemoteControlConfiguration(); config.setUserExtensions(new File("user-extensions.js")); server = new SeleniumServer(config); server.boot(); m_log.info("The server has been started"); HttpCommandProcessor processor = new HttpCommandProcessor("localhost", 4444, "*firefox", "http://localhost:7001/SeleniumSupportSample/SeleniumSupportSample.html"); selenium = new DefaultSelenium( processor); selenium.start(); selenium.open("http://localhost:7001/SeleniumSupportSample/SeleniumSupportSample.html"); m_log.info("The browser window has been opened"); m_log.info("The label text is = '" + selenium.getText("scLocator=//DynamicForm[ID=\"Form\"]/item[name=staticTextItem]/textbox") + "'"); m_log.info("The button title is '" + selenium.getText("scLocator=//DynamicForm[ID=\"Form\"]/item[name=buttonItem]/canvas/title") + "'"); selenium.click("scLocator=//DynamicForm[ID=\"Form\"]/item[name=buttonItem]/canvas/"); m_log.info("The button item has been clicked"); m_log.info("The label text is = '" + selenium.getText("scLocator=//DynamicForm[ID=\"Form\"]/item[name=staticTextItem]/textbox") + "'"); m_log.info("The label2 text is = '" + selenium.getText("scLocator=//DynamicForm[ID=\"Form\"]/item[name=staticTextItem2]/textbox") + "'"); selenium.doubleClick("scLocator=//DynamicForm[ID=\"Form\"]/item[name=buttonItem2]/canvas/"); m_log.info("The button item2 has been double-clicked"); m_log.info("The label2 text is = '" + selenium.getText("scLocator=//DynamicForm[ID=\"Form\"]/item[name=staticTextItem2]/textbox") + "'"); Thread.sleep(5000L); } finally { if (selenium != null) { selenium.deleteAllVisibleCookies(); selenium.stop(); } if (server != null) { server.stop(); } } } }
"The label2 text is = 'Before double-click'
The button item2 has been double-clicked
The label2 text is = 'Before double-click'".
The output of the application itself is (last 2 lines):
"The button item2 has been clicked
The button item2 has been clicked"
So the output of SeleniumSample and of the application itself shows that the "double-click" event has NOT been trigerred.
But if I switch to Internet Explorer (make HttpCommandProcessor to use "*iexplore" instead of "*firefox") then the double-click event IS trigerred.
The output from SeleniumSample is (last 3 lines):
"The label2 text is = 'Before double-click'
The button item2 has been double-clicked
The label2 text is = 'After double-click'"
And the output of the application itself (last 2 lines):
"The button item2 has been clicked
The button item2 has been double clicked"
Also when I tried to perfrom the double-click manually in FF then everything works fine. The label got updated and I got the application output:
"The button item2 has been clicked
The button item2 has been double clicked"
Can you please let me know if it is a bug in the support of Selenium for SmartGWT or did I miss something?
My environment information is:
- Operating system: Windows XP SP3
- Browsers: IE 7 and FF 3.6.3
- SmartGWT: 2.2
- GWT: 2.0.3
Regards,
Iurii
Comment