robotframework / robotframework/SeleniumLibrary

Fix and cleanup logic related to frames

Open
#959 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

backwards incompatible bug priority: high
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.

  1. Page Should (Not) Contain searches text from frames, but only searches from one level and not from sub frames (#98)
  2. Other keywords don't look inside frames at all. This includes Page Should (Not) Contain Element and Current Frame Should (Not) Contain. (#98)
  3. Page Should (Not) Contain internally selects the main frame, disabling earlier Select Frame calls.(#201)
  4. 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 with Page Should (Not) Contain which looks from the root (see 3. above).
  5. If all keywords operate on the selected frame, Page Should is pretty misleading wording. Should we consider renaming these keywords like Page Should Contain -> Text Should Be Present, Page Should Contain Element -> Element Should Be Present?

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.