MarketSquare / MarketSquare/robotframework-browser

Timeout argument not used in ``Promise to wait for download`` keyword in specific case

Closed
#5,185 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: medium
Dominant language
Python
Stars
655
Forks
147
Avg merge
5h 38m
Merged PRs (30d)
58

Description

Describe the bug
I am using the keyword Promise to wait for download and i am setting the keyword argument download_timeout to 30 seconds. My default browser timeout is set to 10 seconds -> means: the given timeout as keyword argument is set higher than the normal browser timeout which is used by default.

Now, when executing the test case, the actual download takes more that 10 seconds (approx. 15-20 seconds), but the keyword fails with the message:

TimeoutError: page.waitForEvent: Timeout 10000ms exceeded while waiting for event "download"
=========================== logs ===========================
waiting for event "download"
============================================================

It seems like my given argument value of 30 seconds is not used at all during the keyword execution.

To Reproduce
Steps to reproduce the behavior:

  • see description

Expected behavior
The keyword accepts the given argument value of 30 seconds and uses this a timeout for the download promise.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: iOS
  • Browser: chrome
  • RF-Browser Version: 19.14.2

Additional context
Add any other context about the problem here.

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 implementation of the Promise to wait for download keyword and how its download_timeout argument reaches Playwright's download wait. Reproduce the issue with a 10-second browser timeout and a 30-second keyword timeout using RF-Browser 19.14.2, then verify that a download taking 15–20 seconds succeeds and that a regression test covers the override.

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
Active
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.