robotframework / robotframework/SeleniumLibrary
Fix and cleanup logic related to frames
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 787
- PR merge metrics
- No merged PRs in 30d
Description
There are currently several problems with handling frames that should be resolved. Some of these problems are already covered by existing issues, but this new issue list all these highly related problems in one place. The whole frame handling logic should be rewritten and all these problems resolved at the same time.
Page Should (Not) Containsearches text from frames, but only searches from one level and not from sub frames (#98)- Other keywords don't look inside frames at all. This includes
Page Should (Not) Contain ElementandCurrent Frame Should (Not) Contain. (#98) Page Should (Not) Containinternally selects the main frame, disabling earlierSelect Framecalls.(#201)- We should see could we deprecate all
Current Frame ...keywords. It would be better that after selecting a frame, all subsequent keywords would operate in the frame. This may actually already be the case, except withPage Should (Not) Containwhich looks from the root (see 3. above). - If all keywords operate on the selected frame,
Page Shouldis pretty misleading wording. Should we consider renaming these keywords likePage Should Contain -> Text Should Be Present,Page Should Contain Element -> Element Should Be Present?
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 by tracing the listed frame-related keywords and reviewing issues #98 and #201, since no files or tests are named. Define completion as consistent behavior for nested frames and selected frames across the affected keywords, then resolve whether the Current Frame and Page Should keyword names should change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing-qa
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100