robotframework / robotframework/SeleniumLibrary

Support Robot Framework (SeleniumLibrary) `Secret` values in `Open Browser`

Aperta
#1,993 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Python
Stelle
1.5k
Fork
787
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Description

SeleniumLibrary currently does not support Robot Framework Secret values when they are passed to keywords expecting string arguments.

For example, when using a Secret as the url argument of Open Browser, the browser is not opened successfully.

To make it work, I have to explicitly use ${url.value} instead of ${url}. However, this defeats the purpose of using Secret, because the URL is then logged in clear text in Robot Framework log files.

Example

*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
Open Browser With Secret URL
    ${url}=    Get Secret    https://example.com?token=secret-token
    Open Browser    ${url}    Firefox

Current behavior

Passing a Secret object directly causes the keyword to fail.

A subsequent keyword then reports:

[FAIL] No browser is open.

The only workaround is to use:

Open Browser    ${url.value}    Firefox

This opens the browser correctly, but the secret URL is no longer protected and is written in clear text to Robot Framework log files.

Expected behavior

Keywords accepting string arguments should also accept Robot Framework Secret values.

SeleniumLibrary should automatically unwrap the Secret internally before passing the value to Selenium, while preserving Robot Framework's secret masking in logs and reports.

This would allow users to use sensitive URLs (for example, URLs containing authentication tokens or embedded credentials) without exposing them in log files.

Environment

  • Robot Framework: 7.4.2
  • SeleniumLibrary: 6.9.0

Additional question

If this is not something that should be implemented in SeleniumLibrary, could you please advise whether support for Secret values should instead be implemented in Robot Framework?

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dall’implementazione SeleniumLibrary della keyword Open Browser e segui come il suo argomento URL viene passato a Selenium. Verifica come vengono rappresentati e gestiti i valori Secret in Robot Framework 7.4.2, quindi aggiungi la coverage per l’esempio di Secret URL fornito. Il lavoro è completo quando Open Browser accetta direttamente il Secret, mentre i logs di Robot Framework continuano a mascherare l’URL.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
testing-qa
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
58/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.