robotframework / robotframework/SeleniumLibrary

'options' argument in 'open browser' not honored when 'browser' argument is set to 'edge' or 'safari'

Offen
#1,778 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
1.5k
Forks
787
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Problem statement:
Executing tests using Remote webdriver on BrowserStack but the options object passed under the 'options' parameter under the 'open browser' keyword doesn't get honored when the 'browser' parameter is set to 'edge' or 'safari'.

However, this works when the 'browser' argument is set to either 'chrome' or 'firefox'.

Note: The same also works across all browser argument values when using selenium 3.141.0 and desired_capabilities

Setup information:
python 3.7.12
robotframework 5.0.1
robotframework-seleniumlibrary 6.0.0
selenium 4.3.0

Steps to repro:

  • Create the below-mentioned files:

test.robot

*** Settings ***
Library SeleniumLibrary
Library Collections
Library test.py

*** Variables ***
${test_url}= https://google.com
${USERNAME}= %{BROWSERSTACK_USERNAME}
${ACCESSKEY}= %{BROWSERSTACK_ACCESS_KEY}
${REMOTE_URL}= https://${USERNAME}:${ACCESSKEY}@hub-cloud.browserstack.com/wd/hub

*** Keywords ***
Open Session
${opts}= browserstack test
open browser remote_url=${REMOTE_URL} url=${test_url} options=${opts} browser=edge

*** Test Cases ***
Quick Test
Open Session
close browser

test.py

from selenium.webdriver.edge.options import Options

def browserstack_test():
edge_options = Options()

bstack_caps = {
    "os" : "Windows",
    "osVersion" : "8",
    "debug" : "true"
}

edge_options.set_capability("browserVersion", "90")
edge_options.set_capability("bstack:options", bstack_caps)
return edge_options

========================================

  • Create a free account on BrowserStack
  • Set the BrowserStack username and accesskey of the account under the following env variables on your machine:
    BROWSERSTACK_USERNAME
    BROWSERSTACK_ACCESS_KEY
  • Run the test --> robot test.robot

You'll notice that the test runs on a random version of Edge and the 'options' argument doesn't seem to get honored at all.
options_honored_chrome
options_not_honored_edge

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit den Reproduktionsdateien test.robot und test.py und verfolge dann, wie das Schlüsselwort open browser das options-Argument für die Browserwerte edge und safari verarbeitet. Führe robot test.robot mit dem bereitgestellten Selenium- und BrowserStack-Setup aus und vergleiche die resultierenden capabilities mit chrome und firefox. Als erledigt gilt die Aufgabe, wenn die Optionen auch für edge und safari berücksichtigt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
testing-qa, web-dev
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.