test_emma.py 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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_emma():
  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.Chrome()
  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. driver.quit()
  40. def test_open_and_close_MenuBurgerOk():
  41. log.info("Test du open and closed menu Burger avec succès")
  42. options = webdriver.FirefoxOptions()
  43. options.add_argument('--headless')
  44. driver = webdriver.Firefox(options=options)
  45. #driver = webdriver.Chrome()
  46. driver.get("https://www.saucedemo.com/")
  47. assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
  48. username = driver.find_element(By.ID,"user-name")
  49. password = driver.find_element(By.ID,"password")
  50. login = driver.find_element(By.ID, "login-button")
  51. writeInInput(inputElement=username, text="standard_user")
  52. writeInInput(password, text="secret_sauce")
  53. login.click()
  54. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  55. button_burger = driver.find_element(By.ID, "react-burger-menu-btn")
  56. element_visible_actif(button_burger)
  57. button_burger.click()
  58. button_all_items = driver.find_element(By.ID, "inventory_sidebar_link")
  59. element_visible_actif(button_all_items)
  60. #button_all_items.click()
  61. #assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  62. button_cross = driver.find_element(By.ID, "react-burger-cross-btn")
  63. element_visible_actif(button_cross)
  64. button_cross.click()
  65. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  66. driver.quit()
  67. def test_displayProductByLowToHighPrice():
  68. log.info("Test du DisplayProductByLowToHighPrice avec succès")
  69. options = webdriver.FirefoxOptions()
  70. options.add_argument('--headless')
  71. driver = webdriver.Firefox(options=options)
  72. #driver = webdriver.Chrome()
  73. driver.get("https://www.saucedemo.com/")
  74. assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
  75. username = driver.find_element(By.ID,"user-name")
  76. password = driver.find_element(By.ID,"password")
  77. login = driver.find_element(By.ID, "login-button")
  78. writeInInput(inputElement=username, text="standard_user")
  79. writeInInput(password, text="secret_sauce")
  80. login.click()
  81. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  82. liste_product = Select(driver.find_element(By.CLASS_NAME, "product_sort_container"))
  83. liste_product.select_by_value("lohi")
  84. slip(4)
  85. driver.quit()
  86. def test_displayProductByHighTolowPrice():
  87. log.info("Test du display Product By High to low Price avec succès")
  88. options = webdriver.FirefoxOptions()
  89. options.add_argument('--headless')
  90. driver = webdriver.Firefox(options=options)
  91. #driver = webdriver.Chrome()
  92. driver.get("https://www.saucedemo.com/")
  93. assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
  94. username = driver.find_element(By.ID,"user-name")
  95. password = driver.find_element(By.ID,"password")
  96. login = driver.find_element(By.ID, "login-button")
  97. writeInInput(inputElement=username, text="standard_user")
  98. writeInInput(password, text="secret_sauce")
  99. login.click()
  100. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  101. liste_product = Select(driver.find_element(By.CLASS_NAME, "product_sort_container"))
  102. liste_product.select_by_value("hilo")
  103. slip(4)
  104. driver.quit()