Проблема с запуском python кода на broswerstack - PullRequest
0 голосов
/ 19 марта 2020

Фон

  • при попытке выполнить автоматические тесты с использованием python selenium - pytest framework / pycharm IDE

  • проблема - работает абсолютно нормально при выполнении тестов на моей локальной машине, указав путь к исполняемому файлу в качестве локального chrome -path (то есть) chrome -driver

  • Однако есть требование, которое мне нужно ежедневно выполнять эти тесты в браузер-стеке через Jenkins. Поэтому я добавил код для браузера-стека, но он не работает

  • Сообщение об ошибке - при выполнении кода появляется следующее сообщение об ошибке, любые предложения, которые помогут исправить эта проблема, будет здорово.


from selenium import webdriver
import time
import pytest
from ZProjects.AutomationS.Pages.utils import Utils
from ZProjects.AutomationS.Pages.loginPage import loginpageMethods
from ZProjects.AutomationSynapse.Pages.logoutPage import logoutpageMethods, logoutpageLocators

@allure.severity(allure.severity_level.NORMAL)
def test_setup():
    global driver
    desired_cap = {
        'browser': 'Chrome',
        'browser_version': '79.0',
        'os': 'Windows',
        'os_version': '10',
        'resolution': '1024x768',
        'name': 'Bstack-[Python] Sample Tests'
    }

    driver = webdriver.Remote(
        command_executor='https://jpopiiiiii@hub-cloud.browserstack.com/fg/hub',
        desired_capabilities=desired_cap)
    # driver = webdriver.Chrome(executable_path=Utils.chromePath) # commented this line
    driver.implicitly_wait(10)
    driver.maximize_window()
    time.sleep(10)
    print("Chrome Browser Launched successfully - Setup - Passed")

@allure.severity(allure.severity_level.BLOCKER)
def test_login_1():
    driver.get(Utils.url)
    login = loginpageMethods(driver)
    login.enter_username(Utils.username)
    login.enter_password(Utils.password)
    login.click_login()
    time.sleep(50)
    print("User logged in Successfully - Passed")

сообщение об ошибке - для первого теста

self = <urllib3.connectionpool.HTTPSConnectionPool object at 0x0000014F3C424DA0>
method = 'POST', url = '/wd/hub/session'
body = '{"capabilities": {"firstMatch": [{}], "alwaysMatch": {}}, "desiredCapabilities": {"browser": "Chrome", "browser_version": "79.0", "os": "Windows", "os_version": "10", "resolution": "1024x768", "name": "Bstack-[Python] Sample Tests"}}'
headers = {'Accept': 'application/json', 'Authorization': 'Basic amVubmlmZXJwYWlzMjozeHN6bml3bXNHcVFRejNqblhvaQ==', 'Content-Type': 'application/json;charset=UTF-8', 'User-Agent': 'selenium/3.141.0 (python windows)'}
retries = Retry(total=0, connect=None, read=None, redirect=None, status=None)
redirect = False, assert_same_host = False
timeout = <object object at 0x0000014F39E8EDD0>, pool_timeout = None
release_conn = True, chunked = False, body_pos = None

ошибка для второго теста

@allure.severity(allure.severity_level.BLOCKER)
    def test_login_1():
>       driver.get(Utils.url)
E       NameError: name 'driver' is not defined

Test_Results_General_Scenarios_Module.py:50: NameError

1 Ответ

0 голосов
/ 19 марта 2020

Вы можете просмотреть документацию BrowserStack для выполнения тестов в Python по ссылке: https://www.browserstack.com/automate/python#getting -старт

Кроме того, настройте возможности, как указано в ссылке: https://www.browserstack.com/automate/capabilities?tag=selenium-2-3

...