Uploaded image for project: 'HAL'
  1. HAL
  2. HAL-1939

Saving a form sometimes fails when autocomplete field is before Save button (Manatoko)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • None
    • Testsuite
    • None

    Description

      In Manatoko, saving a form sometimes fails when autocomplete field is right before the Save button, for example ApplicationSecurityDomainTest* in the test-configuration-web module.

      org.openqa.selenium.ElementClickInterceptedException: 
      Element <button class="btn btn-hal btn-primary"> is not clickable at point (1212,514) because another element <div class="autocomplete-suggestion"> obscures it
      Build info: version: '4.1.2', revision: '9a5a329c5a'
      System info: host: 'rhel8', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.18.0', java.version: '11.0.19'
      Driver info: org.openqa.selenium.firefox.FirefoxDriver
      Command: [f53066c3-1540-4e29-8083-d146cf253210, clickElement {id=be4f88e4-1c60-4d34-b066-ef068695a771}]
      Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 102.4.0, javascriptEnabled: true, moz:accessibilityChecks: false, moz:buildID: 20221010114559, moz:debuggerAddress: localhost:49930, moz:geckodriverVersion: 0.33.0, moz:headless: false, moz:processID: 15507, moz:profile: /tmp/rust_mozprofilerZI7vT, moz:shutdownTimeout: 60000, moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick: true, moz:windowless: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, platformVersion: 4.18.0, proxy: Proxy(), se:cdp: ws://localhost:49930/devtoo..., se:cdpVersion: 85.0, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
      Element: [[[[FirefoxDriver: firefox on LINUX (f53066c3-1540-4e29-8083-d146cf253210)] -> id: undertow-application-security-domain-form]] -> css selector: .form-buttons .btn-primary]
      Session ID: f53066c3-1540-4e29-8083-d146cf253210
      	at jdk.internal.reflect.GeneratedConstructorAccessor184.newInstance(Unknown Source)
      	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
      	at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:200)
      	at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:133)
      	at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:53)
      	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:184)
      	at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:167)
      	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:142)
      	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:558)
      	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:251)
      	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:77)
      	at org.jboss.arquillian.graphene.GrapheneElementImpl.click(GrapheneElementImpl.java:95)
      	at org.jboss.arquillian.graphene.GrapheneElementImpl.click(GrapheneElementImpl.java:95)
      	at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:129)
      	at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$1.invoke(GrapheneContextualHandler.java:169)
      	at org.jboss.arquillian.graphene.enricher.SearchContextInterceptor.intercept(SearchContextInterceptor.java:50)
      	at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
      	at org.jboss.arquillian.graphene.intercept.InterceptorBuilder$2.intercept(InterceptorBuilder.java:139)
      	at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
      	at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor$1.apply(StaleElementInterceptor.java:47)
      	at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor$1.apply(StaleElementInterceptor.java:43)
      	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
      	at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:109)
      	at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor.intercept(StaleElementInterceptor.java:43)
      	at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
      	at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:241)
      	at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
      	at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:237)
      	at com.sun.proxy.$Proxy51.click(Unknown Source)
      	at org.jboss.hal.testsuite.fragment.FormFragment.trySave(FormFragment.java:153)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:129)
      	at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$1.invoke(GrapheneContextualHandler.java:169)
      	at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:241)
      	at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
      	at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:237)
      	at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.intercept(GrapheneContextualHandler.java:263)
      	at org.jboss.hal.testsuite.fragment.FormFragment$$EnhancerByGraphene$$64cf5434.trySave(<generated>)
      	at org.jboss.hal.testsuite.CrudOperations.updateWithError(CrudOperations.java:271)
      	at org.jboss.hal.testsuite.CrudOperations.updateWithError(CrudOperations.java:262)
      	at org.jboss.hal.testsuite.test.configuration.web.ApplicationSecurityDomainConflictTest.preventBothHttpAuthenticationFactoryAndSecurityDomain(ApplicationSecurityDomainConflictTest.java:75)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at org.jboss.arquillian.junit5.ArquillianExtension$1.invoke(ArquillianExtension.java:165)
      	at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:57)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
      	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:103)
      	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:90)
      	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
      	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
      	at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:62)
      	at org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:50)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
      	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:103)
      	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:90)
      	at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:128)
      	at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:118)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
      	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
      	at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:116)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
      	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
      	at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:83)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
      	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
      	at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:69)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
      	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
      	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
      	at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:139)
      	at org.jboss.arquillian.junit5.ArquillianExtension.interceptInvocation(ArquillianExtension.java:145)
      	at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:90)
      	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
      	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
      

      It depends on test execution order. The fix can be to simplify the autocompletion check in FormFragment#text.

      Attachments

        Issue Links

          Activity

            People

              okotek@redhat.com Ondrej Kotek
              okotek@redhat.com Ondrej Kotek
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: