Skip to content

Robot Framework Selenium - Cannot reliably click/scroll in Flutter web canvas elements #1936

Description

@Abratexz

I'm internship QA testing and completely new to testing right now. I'm on Flutter web application with Robot Framework and Selenium Library. My task is to perform end-to-end (E2E) testing on a Flutter web app that heavily uses canvas structure. The test cases involve basic interactions such as clicking, pointing, focusing, and scrolling to elements. Initially, my team suggested using aria-label attributes as keys for identifying elements, which worked well for basic actions.

However, I've encountered several issues when trying a test scenario involving:

Logging in

Selecting a menu item

Editing profile data

Scrolling within a card

Returning to the homepage

The problem starts from the login step, where using standard Selenium actions (Click Element and Input Text) results in errors saying the elements are intercepted or hidden by Flutter. To bypass this, I used the Press Keys function to simulate typing and pressing the Enter key, which allowed me to log in.

After logging in, I was able to interact with menu elements using key presses, but the next major issue arose with scrolling. The website has a scrollable card component, and none of the methods I've tried (Scroll Element Into View, document.scrollIntoView(), or window.scroll) seem to fully scroll the element into view. They only scroll partially or don't scroll at all, leaving elements out of view.

Could someone experienced in Robot Framework and Selenium testing with Flutter web apps provide guidance or recommend workarounds to handle interactions reliably, especially control scrolling and focus Element within Flutter canvas structures?

of course, I'm trying asking ChatGPT ,Sonnet and OTHER AI b4 posting

Some error picture

Image

Activity

  1. emanlove commented on Apr 12, 2025

    @emanlove
    Member

    @Abratexz, I am not a Flutter user/tester and no experience there. In such cases I search the framework and selenium. It appears many people are using Javascript and Execute (Async) Javascript or the equivalent to scroll within a flutter app.

    Choosing whether to use Input Text or Press Keys is a bit context specific. I tend to use/recommend Input Text mostly and then Press Keys when entering text is problematic. I haven't heard of intercepted errors in relation to using one of these methods over another. I would caution that timing issues and the asyncronous nature of web pages would be present and how FDlutter works may present problems of its own.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions