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

Abierto
#1,993 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
58/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
testing-qa

Línea de trabajo

Comienza en la implementación de SeleniumLibrary de la keyword Open Browser y sigue cómo se pasa su argumento URL a Selenium. Comprueba cómo se representan y gestionan los valores Secret en Robot Framework 7.4.2 y, después, añade cobertura para el ejemplo de Secret URL proporcionado. Está terminado cuando Open Browser acepta directamente el Secret, mientras los logs de Robot Framework siguen ocultando la URL.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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?

Lenguaje dominante
Python
Estrellas
1.5k
Forks
787
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de robotframework/SeleniumLibrary

Todos los issues de robotframework/SeleniumLibrary

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.