Skip to content

Commit

Permalink
stepik - course 575 - 03 06 09
Browse files Browse the repository at this point in the history
  • Loading branch information
ornichola committed May 26, 2021
1 parent 083a7f4 commit d4c6ac9
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
39 changes: 39 additions & 0 deletions stepik/python575/03_06_09/conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import pytest
from selenium import webdriver
from selenium.webdriver.chrome.options import Options as ChromeOptions
from selenium.webdriver.firefox.options import Options as FirefoxOptions


def pytest_addoption(parser):
parser.addoption(
'--browser', action='store', default='chrome', help='Launch specific browser (possible Chrome or Firefox)'
)
parser.addoption(
'--headless', action='store_true', default=False, help='Launch in headless mode'
)
parser.addoption(
'--language', action='store', default='en-gb', help='Choose shop language'
)


@pytest.fixture(scope='function')
def driver(request):
_browser = request.config.getoption('browser').lower()
_language = request.config.getoption('language')
_is_headless = request.config.getoption('headless')
if _browser == 'chrome':
__chrome_options = ChromeOptions()
__chrome_options.add_experimental_option('prefs', {'intl.accept_languages': _language})
__chrome_options.headless = _is_headless
driver = webdriver.Chrome(options=__chrome_options)
elif _browser == 'firefox':
__firefox_options = FirefoxOptions()
__firefox_options.set_preference('intl.accept_languages', _language)
__firefox_options.headless = _is_headless
driver = webdriver.Firefox(options=__firefox_options)
else:
raise pytest.UsageError('Browser should be Chrome (default) or Firefox')

yield driver

driver.quit()
14 changes: 14 additions & 0 deletions stepik/python575/03_06_09/test_items.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import time


LINK = 'http://selenium1py.pythonanywhere.com/catalogue/coders-at-work_207/'
TO_BASKET_BTN_LOCATOR = '//button[contains(@class, "add-to-basket")]'


def test_to_basket_btn_on_item_page(driver):
driver.get(LINK)

# time.sleep(30)

to_basket_btn = driver.find_elements_by_xpath(TO_BASKET_BTN_LOCATOR)
assert to_basket_btn, f'"Add to basket" button is not present on: {driver.current_url}'

0 comments on commit d4c6ac9

Please sign in to comment.