MarketSquare / MarketSquare/robotframework-browser

state=Stable does not check for visibility

Open
#4,599 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
655
Forks
147
Avg merge
5h 27m
Merged PRs (30d)
59

Description

**Describe the bug**
I have recently seen that state=stable does not check visible the same way that state=visible does. I have created a simple test with directly using browser library. The keyword with state=stable passes, while the keyword with state=visible fails.
In the library it states that "| ``stable`` | to be both ``visible`` and ``stable``. |"

`browser.Wait For Elements State    selector=//xpath[.="text"]    state=stablebrowser.

Wait For Elements State    selector=//xpath[.="text"]    state=visible`

**To Reproduce**
Steps to reproduce the behavior:
1. setup a test like above in the description
2. Check a simple xpath that is always visible
3. Run the test and put a debug on the first keyword
4. Change the HTML code in the CSS to display: none or add "hidden" to the HTML element.
5. Continue the test run
6. Observe that the state=stable passes
7. Observe that the state=visible fails

**Expected behavior**
I expect that the stated description of the code for the state=stable works as expected. But it does not check for visibility.
| ``stable`` | to be both ``visible`` and ``stable``. |

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Browser library's `Wait For Elements State` keyword and reproduce the reported difference between `state=stable` and `state=visible` using an element changed to `display: none` or `hidden`. Done means `stable` follows the documented visibility behavior, with coverage confirming the hidden-element case.

Written by the indexing model from the issue text.

Assessment

Tech stack
playwright, python
Domain
testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.