import pytest import logging as log import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import TimeoutException from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.ui import Select #from selenium.webdriver.support.ui import WebDriverWait debug = True def slip(secondes: int = 0): if debug: time.sleep(secondes) def writeInInput(inputElement, text): assert inputElement.is_displayed(), "Le champ texte n'est pas affiché" assert inputElement.is_enabled(), "Le champ texte n'est pas activé" inputElement.clear() inputElement.send_keys(text) def element_visible_actif(elem): assert elem.is_displayed() assert elem.is_enabled() def test_loginOK(): log.info("Test du Login avec succès") options = webdriver.FirefoxOptions() options.add_argument('--headless') driver = webdriver.Firefox(options=options) #driver = webdriver.Chrome() driver.get("https://www.saucedemo.com/") assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page" username = driver.find_element(By.ID,"user-name") password = driver.find_element(By.ID,"password") login = driver.find_element(By.ID, "login-button") writeInInput(inputElement=username, text="standard_user") writeInInput(password, text="secret_sauce") login.click() assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page" driver.quit() def test_open_and_close_MenuBurgerOk(): log.info("Test du open and closed menu Burger avec succès") options = webdriver.FirefoxOptions() options.add_argument('--headless') driver = webdriver.Firefox(options=options) #driver = webdriver.Chrome() driver.get("https://www.saucedemo.com/") assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page" username = driver.find_element(By.ID,"user-name") password = driver.find_element(By.ID,"password") login = driver.find_element(By.ID, "login-button") writeInInput(inputElement=username, text="standard_user") writeInInput(password, text="secret_sauce") login.click() assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page" button_burger = driver.find_element(By.ID, "react-burger-menu-btn") element_visible_actif(button_burger) button_burger.click() button_all_items = driver.find_element(By.ID, "inventory_sidebar_link") element_visible_actif(button_all_items) button_all_items.click() assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page" button_cross = driver.find_element(By.ID, "react-burger-cross-btn") element_visible_actif(button_cross) button_cross.click() assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page" driver.quit() def test_displayProductByLowToHighPrice(): log.info("Test du DisplayProductByLowToHighPrice avec succès") options = webdriver.FirefoxOptions() options.add_argument('--headless') driver = webdriver.Firefox(options=options) #driver = webdriver.Chrome() driver.get("https://www.saucedemo.com/") assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page" username = driver.find_element(By.ID,"user-name") password = driver.find_element(By.ID,"password") login = driver.find_element(By.ID, "login-button") writeInInput(inputElement=username, text="standard_user") writeInInput(password, text="secret_sauce") login.click() assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page" liste_product = Select(driver.find_element(By.CLASS_NAME, "product_sort_container")) liste_product.select_by_value("lohi") slip(4) driver.quit() def test_displayProductByHighTolowPrice(): log.info("Test du display Product By High to low Price avec succès") options = webdriver.FirefoxOptions() options.add_argument('--headless') driver = webdriver.Firefox(options=options) #driver = webdriver.Chrome() driver.get("https://www.saucedemo.com/") assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page" username = driver.find_element(By.ID,"user-name") password = driver.find_element(By.ID,"password") login = driver.find_element(By.ID, "login-button") writeInInput(inputElement=username, text="standard_user") writeInInput(password, text="secret_sauce") login.click() assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page" liste_product = Select(driver.find_element(By.CLASS_NAME, "product_sort_container")) liste_product.select_by_value("hilo") slip(4) driver.quit()