Невозможно выполнить тестовый скрипт на python с помощью saucelabs

#python #selenium-webdriver

#python #selenium-webdriver

Вопрос:

Я попытался запустить тестовый скрипт python для страницы входа в систему с помощью saucelabs. Я получил эту ошибку.

selenium.common.exceptions.Исключение WebDriverException: Сообщение: не удалось выполнить запрос POST / wd / hub / session: несанкционированный

Я искал решение в Интернете, нашел что-то по этой ссылке. Но ничего не получил

selenium — 4.0.0

python — 3.8

Вот код:

 import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options as ChromeOptions

options = ChromeOptions()
options.browser_version = '96'
options.platform_name = 'Windows 10'
options.headless = True

sauce_options = {'username': 'sauce_username',
                 'accessKey': 'sauce_access_key',
                 }

options.set_capability('sauce:options', sauce_options)
sauce_url = "https://{}:{}@ondemand.us-west-1.saucelabs.com/wd/hub".format(sauce_options['username'],sauce_options['accessKey'])
driver = webdriver.Remote(command_executor=sauce_url, options=options)

driver.get('https://cq-portal.qa.webomates.com/#/login')
time.sleep(10)

user=driver.find_element('css selector','#userName')
password=driver.find_element('id','password')
login=driver.find_element('xpath','//*[@id="submitButton"]')

user.send_keys('userId')
password.send_keys('password')
login.click()
time.sleep(10)

print('login successful')

driver.quit()
 

Ответ №1:

Ваш код проверяет подлинность двумя разными способами, что, как я подозреваю, является проблемой.

Вы передаете sauce_options данные W3C-совместимым способом (что хорошо), но вы также настроили учетные данные в стиле HTTP, даже если они пустые. В sauce_url {}:{} разделе в основном настраивается имя пользователя и ключ доступа nil .

Если вы собираетесь передавать учетные данные через sauce:options , вам следует удалить все, что находится между протоколом и @ символом в URL, например:

 sauce_url = "https://ondemand.us-west-1.saucelabs.com/wd/hub".format(sauce_options['username'],sauce_options['accessKey'])