test_saucedemo.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import logging as log
  2. import pytest
  3. from selenium import webdriver
  4. from selenium.webdriver.common.by import By
  5. from selenium.webdriver.firefox.options import Options
  6. import time
  7. def writeInInput(inputElement, text):
  8. assert inputElement.is_displayed(), "Le champ texte n'est pas affiché"
  9. assert inputElement.is_enabled(), "Le champ texte n'est pas activé"
  10. inputElement.clear()
  11. inputElement.send_keys(text)
  12. def test_loginOK():
  13. #serveur
  14. log.info("Test du Login avec succès")
  15. options = webdriver.FirefoxOptions()
  16. options.add_argument('--headless')
  17. driver = webdriver.Firefox(options=options)
  18. driver.get("https://www.saucedemo.com/")
  19. assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
  20. username = driver.find_element(By.ID,"user-name")
  21. password = driver.find_element(By.ID,"password")
  22. login = driver.find_element(By.ID, "login-button")
  23. writeInInput(inputElement=username, text="standard_user")
  24. writeInInput(password, text="secret_sauce")
  25. login.click()
  26. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  27. driver.quit()
  28. def test_D():
  29. pass
  30. @pytest.mark.skip("je veux pas le faire")
  31. def test_login_KO_saucedemo():
  32. #driver = webdriver.Chrome()
  33. log.info("Test du Login avec succès")
  34. options = webdriver.FirefoxOptions()
  35. options.add_argument('--headless')
  36. driver = webdriver.Firefox(options=options)
  37. url_sauce_demo = "https://www.saucedemo.com/"
  38. titre_page = "Swag Labs"
  39. driver.get(url_sauce_demo)
  40. log.info("Le titre de la page : "+driver.title)
  41. log.info("L'URL de la page : "+driver.current_url)
  42. assert driver.current_url == url_sauce_demo, "L'url de la page ouverte ("+driver.current_url+") n'est pas égale a "+url_sauce_demo
  43. assert driver.title == titre_page, "Le titre de la page n'est pas egale a "+titre_page
  44. champ_username = driver.find_element(By.XPATH, '//*[@id="user-name"]')
  45. champ_username.send_keys("Pas Bon")
  46. assert champ_username.get_attribute("value") != "standard_user", "MON MESSAGE D'ERREUR PERSONEL"
  47. log.info("TEXTE DU CHAMP USERNAME: "+champ_username.text)
  48. log.info("ATTRIBUT PLACEHOLDER DU CHAMP USERNAME: "+champ_username.get_attribute("placeholder"))
  49. champ_mdp = driver.find_element(By.CSS_SELECTOR, '#password')
  50. champ_mdp.send_keys("secret_sauce")
  51. #Appuyer sur la touche entree dans le champ mdp
  52. #champ_mdp.send_keys(Keys.RETURN)
  53. button_login = driver.find_element(By.ID, "login-button")
  54. button_login.click()
  55. assert driver.current_url == url_sauce_demo, "L'url de la page ouverte ("+driver.current_url+") n'est pas égale a "+url_sauce_demo
  56. message_erreur = driver.find_element(By.CSS_SELECTOR, "[data-test=error]")
  57. assert message_erreur.is_displayed(), "Le message d'erreur n'est pas afficher a l'ecrant"
  58. assert message_erreur.text == "Epic sadface: Username and password do not match any user in this service"
  59. time.sleep(0)
  60. driver.quit()