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()
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()
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')