import logging as log import pytest from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.firefox.options import Options import time 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 test_loginOK(): #serveur log.info("Test du Login avec succès") options = webdriver.FirefoxOptions() options.add_argument('--headless') driver = webdriver.Firefox(options=options) 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_D(): pass @pytest.mark.skip("je veux pas le faire") def test_login_KO_saucedemo(): #driver = webdriver.Chrome() log.info("Test du Login avec succès") options = webdriver.FirefoxOptions() options.add_argument('--headless') driver = webdriver.Firefox(options=options) url_sauce_demo = "https://www.saucedemo.com/" titre_page = "Swag Labs" driver.get(url_sauce_demo) log.info("Le titre de la page : "+driver.title) log.info("L'URL de la page : "+driver.current_url) assert driver.current_url == url_sauce_demo, "L'url de la page ouverte ("+driver.current_url+") n'est pas égale a "+url_sauce_demo assert driver.title == titre_page, "Le titre de la page n'est pas egale a "+titre_page champ_username = driver.find_element(By.XPATH, '//*[@id="user-name"]') champ_username.send_keys("Pas Bon") assert champ_username.get_attribute("value") != "standard_user", "MON MESSAGE D'ERREUR PERSONEL" log.info("TEXTE DU CHAMP USERNAME: "+champ_username.text) log.info("ATTRIBUT PLACEHOLDER DU CHAMP USERNAME: "+champ_username.get_attribute("placeholder")) champ_mdp = driver.find_element(By.CSS_SELECTOR, '#password') champ_mdp.send_keys("secret_sauce") #Appuyer sur la touche entree dans le champ mdp #champ_mdp.send_keys(Keys.RETURN) button_login = driver.find_element(By.ID, "login-button") button_login.click() assert driver.current_url == url_sauce_demo, "L'url de la page ouverte ("+driver.current_url+") n'est pas égale a "+url_sauce_demo message_erreur = driver.find_element(By.CSS_SELECTOR, "[data-test=error]") assert message_erreur.is_displayed(), "Le message d'erreur n'est pas afficher a l'ecrant" assert message_erreur.text == "Epic sadface: Username and password do not match any user in this service" time.sleep(0) driver.quit()