MarketSquare / MarketSquare/robotframework-browser
state=Stable does not check for visibility
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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