123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- 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
- #@pytest.mark.skip("je veux pas le faire")
- @pytest.mark.skip("je veux pas le faire")
- def element_visible_actif(element):
- assert element.is_displayed()
- assert element.is_enabled()
- #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)
- @pytest.mark.skip("je veux pas le faire")
- 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(3)
- driver.quit()
- @pytest.mark.skip("JE VEUX PAS LE FAIRE")
- def test_login_OK_logout_saucedemo():
- #driver = webdriver.Chrome()
- log.info("Test du Login avec succès")
- options = webdriver.FirefoxOptions()
- options.add_argument('--headless')
- driver = webdriver.Firefox(options=options)
-
- driver.implicitly_wait(15)
- #wait = WebDriverWait(driver, 15)
- 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 égal à "+url_sauce_demo
- assert driver.title==titre_page, "Le titre de la page ("+driver.title+") n'est pas égal à " + titre_page
- champ_username = driver.find_element(By.XPATH,'//*[@id="user-name"]')
- log.info(champ_username)
- champ_username.send_keys("standard_user")
- log.info("texte du champ username"+champ_username.text)
- log.info("L'attribut du champ username est "+ champ_username.get_attribute("placeholder") )
- assert champ_username.get_attribute("value")=="standard_user"
- champ_mdp = driver.find_element(By.CSS_SELECTOR,'#password')
- champ_mdp.send_keys("secret_sauce")
- button_login = driver.find_element(By.ID,"login-button")
- element_visible_actif(button_login)
- button_login.click()
- assert driver.current_url=="https://www.saucedemo.com/inventory.html", "l'url de la page ouverte ("+ driver.current_url + ") n'est pas égal à https://www.saucedemo.com/inventory.html"
-
- button_burger= driver.find_element(By.ID,"react-burger-menu-btn")
- element_visible_actif(button_burger)
- time.sleep(5)
- button_burger.click()
- button_logout= driver.find_element(By.ID,"logout_sidebar_link")
- time.sleep(5)
- button_logout.click()
- assert driver.current_url==url_sauce_demo, "L'url de la page ouverte ("+ driver.current_url+") n'est pas égal à "+url_sauce_demo
- time.sleep(5)
- driver.quit()
- #@pytest.mark.skip("JE VEUX PAS LE FAIRE")
- def test_Filtrer_par_Name_acendant():
- #driver = webdriver.Chrome()
- #driver.get("https://www.saucedemo.com/")
-
- log.info("Test du Login avec succès")
- options = webdriver.FirefoxOptions()
- options.add_argument('--headless')
- driver = webdriver.Firefox(options=options)
-
- 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()
- # button_login = driver.find_element(By.CLASS_NAME, "product_sort_container")
-
- #log.info(button_login.get_attribute('value'))
-
- Filter_List = Select(driver.find_element(By.CLASS_NAME, "product_sort_container"))
- Filter_List.select_by_value("az")
- driver.quit()
- #@pytest.mark.skip("JE VEUX PAS LE FAIRE")
- def test_Filtrer_par_Name_decendant():
- #driver = webdriver.Chrome()
- #driver.get("https://www.saucedemo.com/")
-
- log.info("Test du Login avec succès")
- options = webdriver.FirefoxOptions()
- options.add_argument('--headless')
- driver = webdriver.Firefox(options=options)
-
- 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()
- # button_login = driver.find_element(By.CLASS_NAME, "product_sort_container")
-
- #log.info(button_login.get_attribute('value'))
-
- Filter_List = Select(driver.find_element(By.CLASS_NAME, "product_sort_container"))
- Filter_List.select_by_value("za")
- driver.quit()
- #@pytest.mark.skip("JE VEUX PAS LE FAIRE")
- def test_Filtrer_par_Price_high_to_low():
- #driver = webdriver.Chrome()
- #driver.get("https://www.saucedemo.com/")
-
- log.info("Test du Login avec succès")
- options = webdriver.FirefoxOptions()
- options.add_argument('--headless')
- driver = webdriver.Firefox(options=options)
-
- 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()
- # button_login = driver.find_element(By.CLASS_NAME, "product_sort_container")
-
- #log.info(button_login.get_attribute('value'))
-
- Filter_List = Select(driver.find_element(By.CLASS_NAME, "product_sort_container"))
- time.sleep(5)
- Filter_List.select_by_value("hilo")
- time.sleep(10)
- #log.info(button_login.get_attribute('value'))
- driver.quit()
- #@pytest.mark.skip("JE VEUX PAS LE FAIRE")
- def test_Filtrer_par_Price_low_to_high():
- #driver = webdriver.Chrome()
- #driver.get("https://www.saucedemo.com/")
-
- log.info("Test du Login avec succès")
- options = webdriver.FirefoxOptions()
- options.add_argument('--headless')
- driver = webdriver.Firefox(options=options)
-
- 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()
- # button_login = driver.find_element(By.CLASS_NAME, "product_sort_container")
-
- #log.info(button_login.get_attribute('value'))
-
- Filter_List = Select(driver.find_element(By.CLASS_NAME, "product_sort_container"))
- time.sleep(5)
- Filter_List.select_by_value("lohi")
- time.sleep(10)
- #log.info(button_login.get_attribute('value'))
- driver.quit()
|