Ver Fonte

ajout des tests deja codés

Gogs há 1 ano atrás
pai
commit
21fdb13194
1 ficheiros alterados com 93 adições e 0 exclusões
  1. 93 0
      test_saucedemo.py

+ 93 - 0
test_saucedemo.py

@@ -4,6 +4,12 @@ from selenium import webdriver
 from selenium.webdriver.common.by import By
 from selenium.webdriver.firefox.options import Options
 
+debug = True
+
+def slip(secondes):
+    if debug:
+        time.sleep(secondes)
+
 
 
 def writeInInput(inputElement, text):
@@ -11,6 +17,8 @@ def writeInInput(inputElement, text):
     assert inputElement.is_enabled(), "Le champ texte n'est pas activé"
     inputElement.clear()
     inputElement.send_keys(text)
+
+
 @pytest.mark.skip("Je veux pas le faire")
 def test_loginOK():
     log.info("Test du Login avec succès")
@@ -34,3 +42,88 @@ def test_loginOK():
 
     driver.quit()
 
+@pytest.mark.skip("JE VEUX PAS LE FAIRE")
+def test_login_KO_saucedemo():
+
+    driver= webdriver.Chrome()
+    url_sauce_demo="https://www.saucedemo.com/"
+    titre_page="Swag Labs"
+
+    driver.get(url_sauce_demo)
+    log.info("Le titre de la page" + driver.title)
+    log.info("L'URL de la page " + driver.current_url)
+    assert driver.current_url==url_sauce_demo, "L'url de la page ouverte ("+ driver.current_url+") n'est pas égal à "+url_sauce_demo
+    assert driver.title==titre_page, "Le titre de la page ("+driver.title+") n'est pas égal à " + titre_page
+
+    champ_username = driver.find_element(By.XPATH,'//*[@id="user-name"]')
+    log.info(champ_username)
+    champ_username.send_keys("user565")
+    log.info("texte du champ username"+champ_username.text) 
+    log.info("L'attribut du champ username est "+ champ_username.get_attribute("placeholder") )
+    assert champ_username.get_attribute("value")!="standard_user"
+
+    champ_mdp = driver.find_element(By.CSS_SELECTOR,'#password')
+    champ_mdp.send_keys("password")
+   # champ_mdp.send_keys(Keys.RETURN)
+    button_login = driver.find_element(By.ID,"login-button")
+    button_login.click()
+    assert driver.current_url==url_sauce_demo, "l'url de la page ouverte ("+ driver.current_url + ") n'est  pas égal à " + url_sauce_demo
+
+    message_erreur = driver.find_element(By.CSS_SELECTOR, "[data-test=error]")
+    assert message_erreur.is_displayed(),"Le message d'erreur n'est pas affiché"
+    assert message_erreur.text ==  "Epic sadface: Username and password do not match any user in this service"
+    slip(5)
+    driver.quit()
+
+@pytest.mark.skip("JE VEUX PAS LE FAIRE")
+def test_login_OK_logout_saucedemo():
+
+    driver= webdriver.Chrome()
+    #driver.implicitly_wait(15)
+    wait = WebDriverWait(driver,15)
+
+    url_sauce_demo="https://www.saucedemo.com/"
+    titre_page="Swag Labs"
+
+    driver.get(url_sauce_demo)
+    log.info("Le titre de la page" + driver.title)
+    log.info("L'URL de la page " + driver.current_url)
+    assert driver.current_url==url_sauce_demo, "L'url de la page ouverte ("+ driver.current_url+") n'est pas égal à "+url_sauce_demo
+    assert driver.title==titre_page, "Le titre de la page ("+driver.title+") n'est pas égal à " + titre_page
+
+    champ_username = driver.find_element(By.XPATH,'//*[@id="user-name"]')
+
+    log.info(champ_username)
+    champ_username.send_keys("standard_user")
+    log.info("texte du champ username"+champ_username.text) 
+    log.info("L'attribut du champ username est "+ champ_username.get_attribute("placeholder") )
+    assert champ_username.get_attribute("value")=="standard_user"
+
+    champ_mdp = driver.find_element(By.CSS_SELECTOR,'#password')
+    champ_mdp.send_keys("secret_sauce")
+   # champ_mdp.send_keys(Keys.RETURN)
+    button_login = driver.find_element(By.ID,"login-button")
+    element_visible_actif(button_login)
+    button_login.click()
+    assert driver.current_url=="https://www.saucedemo.com/inventory.html", "l'url de la page ouverte ("+ driver.current_url + ") n'est pas égal à https://www.saucedemo.com/inventory.html" 
+    
+    button_burger= driver.find_element(By.ID,"react-burger-menu-btn")
+    element_visible_actif(button_burger)
+    button_burger.click()
+   
+    #button_logout= driver.find_element(By.ID,"logout_sidebar_link")
+
+    try:
+        button_logout=wait.until(EC.element_to_be_clickable((By.ID,"logout_sidebar_link")))
+    except TimeoutException:
+        log.error("Erreur dans l'attennte explicite")
+    
+    #element_visible_actif(button_logout) #ça fonctionne pas très bien
+    button_logout.click()
+    assert driver.current_url==url_sauce_demo, "L'url de la page ouverte ("+ driver.current_url+") n'est pas égal à "+url_sauce_demo
+
+
+    slip(2)
+    driver.quit()
+
+