Testbench Metodo selectByText del elemento ComboBoxElement no funciona corr

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!

Acabo de probar en Chrome y si que funciona. Creo que el problema debe estar en la actualización de Firefox.

Hola Inma,

Voy a intentar reproducirlo en cuanto pueda, pero de todos modos me parece que es un bug y deberías reportarlo en [github issues]
(https://github.com/vaadin/testbench/issues/new)

Qué versión de Vaadin Framework y Testbench estás usando? no te olvides de mentionarlas en github también.

Hola Guillermo,

Muchas gracias por la respuesta. Como he comentado en el hilo he probado con Chrome y funciona correctamente. Así que me da que es problema de la última versión de Firefox.
Estoy utilizando:
Vaadin Framework: 8.0
TestBench: 5.0

Gracias!

Es posible que sea por Firefox 59 si.

Cuál es la versión completa? 8.0.0 y 5.0.0? La última versión de Testbench 5 es 5.1.1.

El combobox tiene desactivado el ingreso de texto? comboBox.setTextInputAllowed(false);

De TestBench estoy usando la 5.0.0, actualizaré este parámetro :slight_smile:

No, no lo tiene desactivado. Deberia?

De TestBench estoy usando la 5.0.0, actualizaré este parámetro :slight_smile:

Genial, prueba con la última y si sigue fallando crea un ticket

No, no lo tiene desactivado. Deberia?

Eso depende de como esté configurada la UI, debería funcionar en ambos casos, pregunté porque encontré este ticket creado ayer https://github.com/vaadin/testbench/issues/1032 pero no menciona Firefox

Hola,

He probado con una versión anterior de Firefox y si que funciona, así que sin duda debe ser la causa del error. Abriré un ticket en gitlab.

Muchas gracias por la ayuda!