vaadin / testbench

Vaadin TestBench is a tool for automated user interface testing of Vaadin applications.
https://vaadin.com/testbench
Other
20 stars 22 forks source link

selectByText method from Combobox element is not working properly #1037

Open InmaMS opened 6 years ago

InmaMS commented 6 years ago

Hi, I´m using testbench 5.1.1 to test a Vaadin application. I create this method to select data from a combobox.

public static void selectComboboxElement(ComboBoxElement comboBoxElement, String comboboxText) {
    comboBoxElement.selectByText(comboboxText);
}

It was working fine until yesterday. Firefox was updated (version 59.0.1) and from this moment I obtain the following error:

org.openqa.selenium.NoSuchElementException: Vaadin could not find elements with the selector #popup at com.vaadin.testbench.TestBenchDriverProxy.executeSearch(TestBenchDriverProxy.java:189) at com.vaadin.testbench.TestBenchDriverProxy.findElementsByVaadinSelector(TestBenchDriverProxy.java:134) at com.vaadin.testbench.By$ByVaadin.findElements(By.java:55) at com.vaadin.testbench.TestBenchElement.findElements(TestBenchElement.java:272) at com.vaadin.testbench.AbstractHasTestBenchCommandExecutor.isElementPresent(AbstractHasTestBenchCommandExecutor.java:75) at com.vaadin.testbench.elements.ComboBoxElement.ensurePopupOpen(ComboBoxElement.java:233) at com.vaadin.testbench.elements.ComboBoxElement.getSuggestionPopup(ComboBoxElement.java:209) at com.vaadin.testbench.elements.ComboBoxElement.getPopupSuggestionElements(ComboBoxElement.java:168) at com.vaadin.testbench.elements.ComboBoxElement.selectSuggestion(ComboBoxElement.java:87) at com.vaadin.testbench.elements.ComboBoxElement.selectByText(ComboBoxElement.java:58) at com.xetics.utils.Utilities.selectComboboxElement(Utilities.java:48) at com.xetics.pageobjects.pages.EquipmentPage.setAlarmRepairDialog(EquipmentPage.java:164) at com.xetics.tests.WorkFlowTest.testStartRepair(WorkFlowTest.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108) at org.testng.internal.Invoker.invokeMethod(Invoker.java:661) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.privateRun(TestRunner.java:744) at org.testng.TestRunner.run(TestRunner.java:602) at org.testng.SuiteRunner.runTest(SuiteRunner.java:380) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340) at org.testng.SuiteRunner.run(SuiteRunner.java:289) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301) at org.testng.TestNG.runSuitesLocally(TestNG.java:1226) at org.testng.TestNG.runSuites(TestNG.java:1144) at org.testng.TestNG.run(TestNG.java:1115) at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72) at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123) Caused by: org.openqa.selenium.JavascriptException: TypeError: cyclic object value Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:25:02.294Z' System info: host: 'NBVAL794', ip: '172.23.10.58', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_144' Driver info: org.openqa.selenium.firefox.FirefoxDriver Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 59.0.1, javascriptEnabled: true, moz:accessibilityChecks: false, moz:headless: false, moz:processID: 8788, moz:profile: C:\Users\iamn\AppData\Local..., moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick: true, pageLoadStrategy: normal, platform: XP, platformName: XP, platformVersion: 6.3, rotatable: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}} Session ID: 13d2e776-75b7-4e45-8be0-3a5344cfd696 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:160) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601) at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:537) at com.vaadin.testbench.commands.TestBenchCommandExecutor.executeScript(TestBenchCommandExecutor.java:226) at com.vaadin.testbench.TestBenchDriverProxy_$$_jvst8fd_0._d9executeScript(TestBenchDriverProxy_$$_jvst8fd_0.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.vaadin.testbench.DriverInvocationHandler.invoke(DriverInvocationHandler.java:56) at com.vaadin.testbench.TestBenchDriverProxy_$$_jvst8fd_0.executeScript(TestBenchDriverProxy_$$_jvst8fd_0.java) at com.vaadin.testbench.TestBenchDriverProxy.executeSearch(TestBenchDriverProxy.java:184) ... 36 more 35173 [main] INFO com.xetics.pageobjects.pages.MainPage - **** START LOGOUT 36657 [main] INFO com.xetics.pageobjects.pages.MainPage - **** END LOGOUT 36657 [main] INFO com.xetics.tests.TestBase - ********************************** Closing browser IPDL protocol error: Handler returned error code!

With previous versions of Firefox works fine, and same for other browsers, so I think the problem is related to the last Firefox version.

thanks in advance,

Inma

Artur- commented 6 years ago

Sounds related to https://github.com/SeleniumHQ/selenium/issues/5621. The best workaround for now is to use Firefox 58 or older