test_in.py 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  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 element_visible_actif(elem):
  13. assert elem.is_displayed()
  14. assert elem.is_enabled()
  15. # @pytest.mark.skip("skip")
  16. def test_login_et_logout_ok_saucedemo():
  17. log.info("login et logout ok")
  18. options = webdriver.FirefoxOptions()
  19. options.add_argument('--headless')
  20. driver = webdriver.Firefox(options=options)
  21. #driver = webdriver.Chrome()
  22. url_sauce_demo="https://www.saucedemo.com/"
  23. driver.get(url_sauce_demo)
  24. assert driver.current_url == url_sauce_demo, "Nous ne somme pas sur la bonne page"
  25. username = driver.find_element(By.ID,"user-name")
  26. password = driver.find_element(By.ID,"password")
  27. login = driver.find_element(By.ID, "login-button")
  28. writeInInput(inputElement=username, text="standard_user")
  29. writeInInput(password, text="secret_sauce")
  30. login.click()
  31. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  32. button_burger= driver.find_element(By.ID,"react-burger-menu-btn")
  33. element_visible_actif(button_burger)
  34. button_burger.click()
  35. time.sleep(2)
  36. button_logout= driver.find_element(By.ID,"logout_sidebar_link")
  37. element_visible_actif(button_logout)
  38. button_logout.click()
  39. driver.quit()
  40. # @pytest.mark.skip("skip")
  41. def test_about_ok_saucedemo():
  42. log.info("about ok")
  43. options = webdriver.FirefoxOptions()
  44. options.add_argument('--headless')
  45. driver = webdriver.Firefox(options=options)
  46. #driver = webdriver.Chrome()
  47. url_sauce_demo="https://www.saucedemo.com/"
  48. driver.get(url_sauce_demo)
  49. assert driver.current_url == url_sauce_demo, "Nous ne somme pas sur la bonne page"
  50. username = driver.find_element(By.ID,"user-name")
  51. password = driver.find_element(By.ID,"password")
  52. login = driver.find_element(By.ID, "login-button")
  53. writeInInput(inputElement=username, text="standard_user")
  54. writeInInput(password, text="secret_sauce")
  55. login.click()
  56. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  57. button_burger= driver.find_element(By.ID,"react-burger-menu-btn")
  58. element_visible_actif(button_burger)
  59. button_burger.click()
  60. time.sleep(2)
  61. button_about= driver.find_element(By.ID,"about_sidebar_link")
  62. element_visible_actif(button_about)
  63. button_about.click()
  64. assert driver.current_url == "https://saucelabs.com/", "Nous ne somme pas sur la bonne page"
  65. driver.quit()
  66. # @pytest.mark.skip("skip")
  67. def test_footer_copy():
  68. log.info("la présence d'élément footer_copy")
  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. assert "Privacy Policy" in driver.find_element(By.CLASS_NAME, "footer").text, "Privacy Policy n'est pas dans le footer"
  83. driver.quit()
  84. # @pytest.mark.skip("skip")
  85. def test_footer_twitter():
  86. log.info("la présence d'élément footer_twitter")
  87. options = webdriver.FirefoxOptions()
  88. options.add_argument('--headless')
  89. driver = webdriver.Firefox(options=options)
  90. # driver = webdriver.Chrome()
  91. driver.get("https://www.saucedemo.com/")
  92. assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
  93. username = driver.find_element(By.ID,"user-name")
  94. password = driver.find_element(By.ID,"password")
  95. login = driver.find_element(By.ID, "login-button")
  96. writeInInput(inputElement=username, text="standard_user")
  97. writeInInput(password, text="secret_sauce")
  98. login.click()
  99. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  100. twitter_lien = driver.find_element(By.LINK_TEXT, "Twitter")
  101. twitter_lien.click()
  102. time.sleep(2)
  103. #assert driver.current_url == "https://twitter.com/saucelabs", "Nous ne somme pas sur la bonne page"
  104. driver.quit()
  105. # @pytest.mark.skip("skip")
  106. def test_footer_facebook():
  107. log.info("la présence d'élément footer_facebook")
  108. options = webdriver.FirefoxOptions()
  109. options.add_argument('--headless')
  110. driver = webdriver.Firefox(options=options)
  111. #driver = webdriver.Chrome()
  112. driver.get("https://www.saucedemo.com/")
  113. assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
  114. username = driver.find_element(By.ID,"user-name")
  115. password = driver.find_element(By.ID,"password")
  116. login = driver.find_element(By.ID, "login-button")
  117. writeInInput(inputElement=username, text="standard_user")
  118. writeInInput(password, text="secret_sauce")
  119. login.click()
  120. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  121. twitter_lien = driver.find_element(By.LINK_TEXT, "Facebook")
  122. twitter_lien.click()
  123. time.sleep(2)
  124. #assert driver.current_url == "https://www.facebook.com/saucelabs", "Nous ne somme pas sur la bonne page"
  125. driver.quit()
  126. # @pytest.mark.skip("skip")
  127. def test_footer_linkedin():
  128. log.info("la présence d'élément footer_linkedin")
  129. options = webdriver.FirefoxOptions()
  130. options.add_argument('--headless')
  131. driver = webdriver.Firefox(options=options)
  132. #driver = webdriver.Chrome()
  133. driver.get("https://www.saucedemo.com/")
  134. assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
  135. username = driver.find_element(By.ID,"user-name")
  136. password = driver.find_element(By.ID,"password")
  137. login = driver.find_element(By.ID, "login-button")
  138. writeInInput(inputElement=username, text="standard_user")
  139. writeInInput(password, text="secret_sauce")
  140. login.click()
  141. assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
  142. twitter_lien = driver.find_element(By.LINK_TEXT, "LinkedIn")
  143. twitter_lien.click()
  144. time.sleep(3)
  145. #assert driver.current_url == "https://www.linkedin.com/company/sauce-labs/", "Nous ne somme pas sur la bonne page"
  146. driver.quit()