def test_inventory_size():
    driver = get_driver('chrome')
    wait = WebDriverWait(driver, 5)
    driver.get('https://www.saucedemo.com/')
    login(wait, 'standard_user', 'secret_sauce')
    items = get_inventory(wait)
    assert len(items) == 6, 'Inventory should contain 6 items'
    driver.close()
Exemple #2
0
def test_base_page():
    driver = get_driver('chrome')
    page = BasePage(driver, 'https://www.google.com/')
    page.open()
    page.wait_until_loaded()
    page.timeout = 5
    assert page.timeout == 5, 'Page timeout should be 5'
    page.close()
def test_valid_user(user, password):
    driver = get_driver('chrome')
    wait = WebDriverWait(driver, 5)
    driver.get('https://www.saucedemo.com/')
    login(wait, user, password)
    items = get_inventory(wait)
    assert len(items) > 0, 'Inventory should be loaded'
    driver.close()
Exemple #4
0
def test_invalid_user():
    driver = get_driver('chrome')
    wait = WebDriverWait(driver, 5)
    driver.get('https://www.saucedemo.com/')
    login(wait, 'standard_user', 'invalid secret ')
    with pytest.raises(TimeoutException):
        get_inventory()
    driver.close()
def test_page_without_root():
    driver = get_driver('chrome')
    wait = WebDriverWait(driver, 5)
    driver.get('https://www.google.com/')
    locator = (By.NAME, 'q')
    element = BasePageElement(locator, wait=wait)
    element.write('Selenium')
    assert element.get_value() == 'Selenium'
    driver.quit()
def test_base_page_with_root():
    driver = get_driver('chrome')
    driver.get('https://www.google.com/')
    root_element = driver.find_element_by_class_name('SDkEP')
    locator = (By.NAME, 'q')
    element = BasePageElement(locator, root=root_element)
    element.write('Selenium')
    assert element.get_value() == 'Selenium'
    driver.quit()
def test_invalid_user():
    driver = get_driver('chrome')
    wait = WebDriverWait(driver, 5)
    driver.get('https://www.saucedemo.com/')
    login(wait, 'standard_user', 'invalid_secret')
    error_msg = get_login_error(wait)
    assert error_msg is not None, 'Error message should be displayed for invalid login'
    assert error_msg == _ERROR_MSG, f'Error message should be {_ERROR_MSG}'
    with pytest.raises(TimeoutException):
        get_inventory(wait)
    driver.close()
def test_inventory_price():
    driver = get_driver('chrome')
    wait = WebDriverWait(driver, 5)
    driver.get('https://www.saucedemo.com/')
    login(wait, 'standard_user', 'secret_sauce')
    items = get_inventory(wait)
    for index, item in enumerate(items):
        item: InventoryItem
        assert item.price == VALID_PRICES[
            index], f'Price for item {index} should be {VALID_PRICES[index]}'
    driver.close()
        target: WebElement
        target.click()
    except TimeoutException as exception:
        raise RuntimeError(f'No empty boxes: {exception}')


def print_game_stats(wait):
    """Print game stats"""
    # player 1 xpath: //p[contains(@class, 'player1')]/span[@class='score']
    player_1_locator = (By.CSS_SELECTOR, '.player1 .score')
    player_1 = wait.until(EC.visibility_of_element_located(player_1_locator))

    # ties css: .ties .score
    ties_locator = (By.XPATH, "//p[contains(@class, 'ties')]/span[contains(@class, 'score')]")
    ties = wait.until(EC.visibility_of_element_located(ties_locator))

    # player 2 xpath: //p[contains(@class, 'player2')]/span[@class='score']
    player_2_locator = (By.CSS_SELECTOR, '.player2 .score')
    player_2 = wait.until(EC.visibility_of_element_located(player_2_locator))

    print(f'Player: {player_1.text}, Ties: {ties.text}, Computer: {player_2.text}')


if __name__ == '__main__':
    my_driver = get_driver('chrome')
    my_wait = WebDriverWait(my_driver, 1)
    my_driver.get('https://playtictactoe.org/')
    while not winner(my_wait):
        select_empty_box(my_wait)
    print_game_stats(my_wait)
    my_driver.quit()
def test_sauce_lab_login():
    driver = get_driver('chrome')
    page = LoginPage(driver)
    page.open()
    page.login('standard_user', 'secret_sauce')
    page.close()
def test_google_search():
    driver = get_driver('chrome')
    page = Google(driver)
    page.open()
    page.search('Selenium')
def test_feeling_lucky():
    driver = get_driver('chrome')
    page = Google(driver)
    page.open()
    page.feeling_lucky('Selenium')
 def setup_method(self):
     """Setup method"""
     self.driver = get_driver('chrome')