Hola,
Estoy utilizando testbench 5.0 para testear una aplicación desarrollada en Vaadin. Creé el siguiente método para seleccionar un texto determinado en un combo box.
public static void selectComboboxElement(ComboBoxElement comboBoxElement, String comboboxText) {
comboBoxElement.selectByText(comboboxText);
}
El método estaba funcionando perfectamente hasta ayer. No estoy segura si es por la actualización de Firefox, pero desde ese momento siempre obtengo el siguiente 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!
Intentando resolver el problema he actualizado la versión del friver (geckodriver) a la ultima versión.
Actualmente estoy utilizando:
Firefox 59.0.1 (64-bit) and geckodriver 0.20.0.
Alguna idea de por qué puede estar fallando esta función?
Muchas gracias!