Browse Source

Ajout tests Inna

Inna 1 year ago
parent
commit
1348a60362
1 changed files with 186 additions and 0 deletions
  1. 186 0
      test_in.py

+ 186 - 0
test_in.py

@@ -0,0 +1,186 @@
+import logging as log
+import pytest
+from selenium import webdriver
+from selenium.webdriver.common.by import By
+from selenium.webdriver.firefox.options import Options
+import time
+
+def writeInInput(inputElement, text):
+    assert inputElement.is_displayed(), "Le champ texte n'est pas affiché"
+    assert inputElement.is_enabled(), "Le champ texte n'est pas activé"
+    inputElement.clear()
+    inputElement.send_keys(text)
+def element_visible_actif(elem):
+    assert elem.is_displayed()
+    assert elem.is_enabled()
+
+# @pytest.mark.skip("skip")
+def test_login_et_logout_ok_saucedemo():
+    
+    log.info("login et logout ok")
+
+    options = webdriver.FirefoxOptions()
+    options.add_argument('--headless')
+    driver = webdriver.Firefox(options=options)
+
+    #driver = webdriver.Chrome()
+
+    url_sauce_demo="https://www.saucedemo.com/"
+    driver.get(url_sauce_demo)
+    assert driver.current_url == url_sauce_demo, "Nous ne somme pas sur la bonne page"
+    username = driver.find_element(By.ID,"user-name")
+    password = driver.find_element(By.ID,"password")
+    login = driver.find_element(By.ID, "login-button")
+    writeInInput(inputElement=username, text="standard_user")
+    writeInInput(password, text="secret_sauce")
+    login.click()
+    assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
+   
+    button_burger= driver.find_element(By.ID,"react-burger-menu-btn")
+    element_visible_actif(button_burger)
+    button_burger.click()
+    time.sleep(2)
+    button_logout= driver.find_element(By.ID,"logout_sidebar_link")
+    element_visible_actif(button_logout)
+    button_logout.click()
+    driver.quit()
+
+
+# @pytest.mark.skip("skip")
+def test_about_ok_saucedemo():
+    
+    log.info("about ok")
+
+    options = webdriver.FirefoxOptions()
+    options.add_argument('--headless')
+    driver = webdriver.Firefox(options=options)
+
+    #driver = webdriver.Chrome()
+
+    url_sauce_demo="https://www.saucedemo.com/"
+    driver.get(url_sauce_demo)
+    assert driver.current_url == url_sauce_demo, "Nous ne somme pas sur la bonne page"
+    username = driver.find_element(By.ID,"user-name")
+    password = driver.find_element(By.ID,"password")
+    login = driver.find_element(By.ID, "login-button")
+    writeInInput(inputElement=username, text="standard_user")
+    writeInInput(password, text="secret_sauce")
+    login.click()
+    assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
+   
+    button_burger= driver.find_element(By.ID,"react-burger-menu-btn")
+    element_visible_actif(button_burger)
+    button_burger.click()
+    time.sleep(2)
+    button_about= driver.find_element(By.ID,"about_sidebar_link")
+    element_visible_actif(button_about)
+    button_about.click()
+    assert driver.current_url == "https://saucelabs.com/", "Nous ne somme pas sur la bonne page"
+    driver.quit()
+
+# @pytest.mark.skip("skip")
+def test_footer_copy():
+
+    log.info("la présence d'élément footer_copy")
+
+    options = webdriver.FirefoxOptions()
+    options.add_argument('--headless')
+    driver = webdriver.Firefox(options=options)
+
+    #driver = webdriver.Chrome()
+
+
+    driver.get("https://www.saucedemo.com/")
+    assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
+    username = driver.find_element(By.ID,"user-name")
+    password = driver.find_element(By.ID,"password")
+    login = driver.find_element(By.ID, "login-button")
+    writeInInput(inputElement=username, text="standard_user")
+    writeInInput(password, text="secret_sauce")
+    login.click()
+    assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
+    assert "Privacy Policy" in driver.find_element(By.CLASS_NAME, "footer").text, "Privacy Policy n'est pas dans le footer"
+
+    driver.quit()
+
+# @pytest.mark.skip("skip")
+def test_footer_twitter():
+
+    log.info("la présence d'élément footer_twitter")
+
+    options = webdriver.FirefoxOptions()
+    options.add_argument('--headless')
+    driver = webdriver.Firefox(options=options)
+
+    # driver = webdriver.Chrome()
+
+
+    driver.get("https://www.saucedemo.com/")
+    assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
+    username = driver.find_element(By.ID,"user-name")
+    password = driver.find_element(By.ID,"password")
+    login = driver.find_element(By.ID, "login-button")
+    writeInInput(inputElement=username, text="standard_user")
+    writeInInput(password, text="secret_sauce")
+    login.click()
+    assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
+    twitter_lien = driver.find_element(By.LINK_TEXT, "Twitter")
+    twitter_lien.click()
+    time.sleep(2)
+    #assert driver.current_url == "https://twitter.com/saucelabs", "Nous ne somme pas sur la bonne page"
+    driver.quit()
+
+
+# @pytest.mark.skip("skip")
+def test_footer_facebook():
+
+    log.info("la présence d'élément footer_facebook")
+
+    options = webdriver.FirefoxOptions()
+    options.add_argument('--headless')
+    driver = webdriver.Firefox(options=options)
+
+    #driver = webdriver.Chrome()
+
+
+    driver.get("https://www.saucedemo.com/")
+    assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
+    username = driver.find_element(By.ID,"user-name")
+    password = driver.find_element(By.ID,"password")
+    login = driver.find_element(By.ID, "login-button")
+    writeInInput(inputElement=username, text="standard_user")
+    writeInInput(password, text="secret_sauce")
+    login.click()
+    assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
+    twitter_lien = driver.find_element(By.LINK_TEXT, "Facebook")
+    twitter_lien.click()
+    time.sleep(2)
+    #assert driver.current_url == "https://www.facebook.com/saucelabs", "Nous ne somme pas sur la bonne page"
+    driver.quit()
+
+# @pytest.mark.skip("skip")
+def test_footer_linkedin():
+
+    log.info("la présence d'élément footer_linkedin")
+
+    options = webdriver.FirefoxOptions()
+    options.add_argument('--headless')
+    driver = webdriver.Firefox(options=options)
+
+    #driver = webdriver.Chrome()
+
+
+    driver.get("https://www.saucedemo.com/")
+    assert driver.current_url == "https://www.saucedemo.com/", "Nous ne somme pas sur la bonne page"
+    username = driver.find_element(By.ID,"user-name")
+    password = driver.find_element(By.ID,"password")
+    login = driver.find_element(By.ID, "login-button")
+    writeInInput(inputElement=username, text="standard_user")
+    writeInInput(password, text="secret_sauce")
+    login.click()
+    assert driver.current_url == "https://www.saucedemo.com/inventory.html", "Nous ne somme pas sur la bonne page"
+    twitter_lien = driver.find_element(By.LINK_TEXT, "LinkedIn")
+    twitter_lien.click()
+    time.sleep(3)
+    #assert driver.current_url == "https://www.linkedin.com/company/sauce-labs/", "Nous ne somme pas sur la bonne page"
+    driver.quit()