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 element_visible_actif(elem): assert elem.is_displayed() assert elem.is_enabled() # @pytest.mark.skip("skip") def test_login_et_logout_ok_saucedemo(): log.info("login et logout ok") options = webdriver.FirefoxOptions() options.add_argument('--headless') driver = webdriver.Firefox(options=options) #driver = webdriver.Chrome() url_sauce_demo="https://www.saucedemo.com/" driver.get(url_sauce_demo) assert driver.current_url == url_sauce_demo, "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() time.sleep(2) button_logout= driver.find_element(By.ID,"logout_sidebar_link") element_visible_actif(button_logout) button_logout.click() driver.quit() # @pytest.mark.skip("skip") def test_about_ok_saucedemo(): log.info("about ok") options = webdriver.FirefoxOptions() options.add_argument('--headless') driver = webdriver.Firefox(options=options) #driver = webdriver.Chrome() url_sauce_demo="https://www.saucedemo.com/" driver.get(url_sauce_demo) assert driver.current_url == url_sauce_demo, "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() time.sleep(2) button_about= driver.find_element(By.ID,"about_sidebar_link") element_visible_actif(button_about) button_about.click() assert driver.current_url == "https://saucelabs.com/", "Nous ne somme pas sur la bonne page" driver.quit() # @pytest.mark.skip("skip") def test_footer_copy(): log.info("la présence d'élément footer_copy") 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" assert "Privacy Policy" in driver.find_element(By.CLASS_NAME, "footer").text, "Privacy Policy n'est pas dans le footer" driver.quit() # @pytest.mark.skip("skip") def test_footer_twitter(): log.info("la présence d'élément footer_twitter") 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" twitter_lien = driver.find_element(By.LINK_TEXT, "Twitter") twitter_lien.click() time.sleep(2) #assert driver.current_url == "https://twitter.com/saucelabs", "Nous ne somme pas sur la bonne page" driver.quit() # @pytest.mark.skip("skip") def test_footer_facebook(): log.info("la présence d'élément footer_facebook") 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" twitter_lien = driver.find_element(By.LINK_TEXT, "Facebook") twitter_lien.click() time.sleep(2) #assert driver.current_url == "https://www.facebook.com/saucelabs", "Nous ne somme pas sur la bonne page" driver.quit() # @pytest.mark.skip("skip") def test_footer_linkedin(): log.info("la présence d'élément footer_linkedin") 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" twitter_lien = driver.find_element(By.LINK_TEXT, "LinkedIn") twitter_lien.click() time.sleep(3) #assert driver.current_url == "https://www.linkedin.com/company/sauce-labs/", "Nous ne somme pas sur la bonne page" driver.quit()