test_emma.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import pytest
  2. import logging as log
  3. import time
  4. from selenium import webdriver
  5. from selenium.webdriver.common.by import By
  6. from selenium.webdriver.common.keys import Keys
  7. from selenium.webdriver.support import expected_conditions as EC
  8. from selenium.common.exceptions import TimeoutException
  9. from selenium.webdriver.support.ui import WebDriverWait
  10. from selenium.webdriver.support.ui import Select
  11. #from selenium.webdriver.support.ui import WebDriverWait
  12. debug = True
  13. def slip(secondes: int = 0):
  14. if debug:
  15. time.sleep(secondes)
  16. def writeInInput(inputElement, text):
  17. assert inputElement.is_displayed(), "Le champ texte n'est pas affiché"
  18. assert inputElement.is_enabled(), "Le champ texte n'est pas activé"
  19. inputElement.clear()
  20. inputElement.send_keys(text)
  21. def element_visible_actif(elem):
  22. assert elem.is_displayed()
  23. assert elem.is_enabled()
  24. def test_loginOK():
  25. log.info("Test du Login avec succès")
  26. #options = webdriver.FirefoxOptions()
  27. #options.add_argument('--headless')
  28. #driver = webdriver.Firefox(options=options)
  29. driver = webdriver.Firefox()
  30. driver.get("https://www.saucedemo.com/")
  31. assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
  32. username = driver.find_element(By.ID,"user-name")
  33. password = driver.find_element(By.ID,"password")
  34. login = driver.find_element(By.ID, "login-button")
  35. writeInInput(inputElement=username, text="standard_user")
  36. writeInInput(password, text="secret_sauce")
  37. login.click()
  38. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  39. button_burger = driver.find_element(By.ID, "react-burger-menu-btn")
  40. element_visible_actif(button_burger)
  41. button_burger.click()
  42. button_all_items = driver.find_element(By.ID, "inventory_sidebar_link")
  43. #element_visible_actif(button_all_items)
  44. button_all_items.click()
  45. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  46. button_cross = driver.find_element(By.ID, "react-burger-cross-btn")
  47. element_visible_actif(button_cross)
  48. button_cross.click()
  49. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  50. driver.quit()
  51. #test
  52. #test emma