test_ilo.py 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. #@pytest.mark.skip("skip")
  13. def test_login_et_logout_ok_saucedemo():
  14. log.info("login et logout ok")
  15. # options = webdriver.FirefoxOptions()
  16. # options.add_argument('--headless')
  17. # driver = webdriver.Firefox(options=options)
  18. driver = webdriver.Chrome()
  19. url_sauce_demo="https://www.saucedemo.com/"
  20. driver.get(url_sauce_demo)
  21. assert driver.current_url == url_sauce_demo, "Nous ne somme pas sur la bonne page"
  22. username = driver.find_element(By.ID,"user-name")
  23. password = driver.find_element(By.ID,"password")
  24. login = driver.find_element(By.ID, "login-button")
  25. writeInInput(inputElement=username, text="standard_user")
  26. writeInInput(password, text="secret_sauce")
  27. login.click()
  28. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  29. button_burger= driver.find_element(By.ID,"react-burger-menu-btn")
  30. button_burger.click()
  31. time.sleep(2)
  32. button_logout= driver.find_element(By.ID,"logout_sidebar_link")
  33. button_logout.click()
  34. driver.quit()
  35. #@pytest.mark.skip("skip")
  36. def test_about_ok_saucedemo():
  37. log.info("about ok")
  38. # options = webdriver.FirefoxOptions()
  39. # options.add_argument('--headless')
  40. # driver = webdriver.Firefox(options=options)
  41. driver = webdriver.Chrome()
  42. url_sauce_demo="https://www.saucedemo.com/"
  43. driver.get(url_sauce_demo)
  44. assert driver.current_url == url_sauce_demo, "Nous ne somme pas sur la bonne page"
  45. username = driver.find_element(By.ID,"user-name")
  46. password = driver.find_element(By.ID,"password")
  47. login = driver.find_element(By.ID, "login-button")
  48. writeInInput(inputElement=username, text="standard_user")
  49. writeInInput(password, text="secret_sauce")
  50. login.click()
  51. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  52. button_burger= driver.find_element(By.ID,"react-burger-menu-btn")
  53. button_burger.click()
  54. time.sleep(2)
  55. button_about= driver.find_element(By.ID,"about_sidebar_link")
  56. button_about.click()
  57. assert driver.current_url == "https://saucelabs.com/", "Nous ne somme pas sur la bonne page"
  58. driver.quit()
  59. @pytest.mark.skip("skip")
  60. def test_footer():
  61. log.info("la présence d'élément footer_copy")
  62. # options = webdriver.FirefoxOptions()
  63. # options.add_argument('--headless')
  64. # driver = webdriver.Firefox(options=options)
  65. driver = webdriver.Chrome()
  66. driver.get("https://www.saucedemo.com/")
  67. assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
  68. username = driver.find_element(By.ID,"user-name")
  69. password = driver.find_element(By.ID,"password")
  70. login = driver.find_element(By.ID, "login-button")
  71. writeInInput(inputElement=username, text="standard_user")
  72. writeInInput(password, text="secret_sauce")
  73. login.click()
  74. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  75. assert "Privacy Policy" in driver.find_element(By.CLASS_NAME, "footer"), "La chaine (Privacy Policy) n'est pas dans le titre"
  76. driver.quit()