robotframework / robotframework/SeleniumLibrary

Wait Until Element Is Visible and Wait Until Element Is Not Visible log about 45 kilobytes of JS code on DEBUG level

Open
#1,516 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement priority: medium
Dominant language
Python
Stars
1.5k
Forks
787
PR merge metrics
No merged PRs in 30d

Description

For issues

Steps to reproduce the issue

Can be reproduced with at least Chrome and Firefox.

*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
Test Case
   Open Browser    https://robotframework.org/    firefox
   Wait Until Element Is Visible    introduction
   Close Browser

Error messages and additional information

image

JavaScript code seems to originate from C:\Python37\Lib\site-packages\selenium\webdriver\remote\isDisplayed.js

Expected behavior and actual behavior

Expected behavior: visibility would be checked without logging JavaScript code.

Actual behavior: 45 056 bytes of JavaScript is logged each time Wait Until Element Is Visible or Wait Until Element Is Not Visible is called. Our recent log file exceeded 500 megabytes in size because these keywords were called over 10,000 times during the test run.

This is relatively new change as I don't remember seeing this in spring 2019.

Environment

Browser: Chrome 78, Firefox 70
Browser driver: ChromeDriver 78, GeckoDriver 0.26.0
Operating System: Windows 10
Libraries

  • Robot Framework: 3.1.2
  • Selenium: 3.141.0
  • SeleniumLibrary: 4.1.0
  • Interpreter: Python 3.7.4

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 reproducing the example with SeleniumLibrary, Chrome or Firefox, and DEBUG logging. Trace the implementation of Wait Until Element Is Visible and Wait Until Element Is Not Visible, focusing on why isDisplayed.js is emitted to the log. Done means repeated visibility checks no longer log the roughly 45 KB JavaScript payload while the checks still work.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.