Browse Source

resolution de conflit

Gogs 1 year ago
parent
commit
f6d2f4d408
1 changed files with 66 additions and 44 deletions
  1. 66 44
      test_sauce_demo_class.py

+ 66 - 44
test_sauce_demo_class.py

@@ -15,18 +15,7 @@ import os
 
 
 class TestSauceDemo:
-    def is_windows(self):
-        # oups
-        res = False
-        if os.name == "nt":
-            res == True
-        return res
-
-    def writeInInput(self, 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)
+    ##### METHODES PYTEST
 
     def setup_method(self, method):
         log.info("Methode de SETUP AVANT CHAQUE TEST")
@@ -47,6 +36,20 @@ class TestSauceDemo:
         log.info("Methode de TEARDOWN APRES CHAQUE TEST")
         self.driver.quit()
 
+    ##### METHODES DIVERS
+    def is_windows(self):
+        # oups
+        res = False
+        if os.name == "nt":
+            res == True
+        return res
+
+    def writeInInput(self, 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 login(self):
         username = self.driver.find_element(By.ID, "user-name")
         password = self.driver.find_element(By.ID, "password")
@@ -56,47 +59,61 @@ class TestSauceDemo:
         writeInInput(password, text="secret_sauce")
         login.click()
 
+    def login_custum(self, user, pwd):
+        username = self.driver.find_element(By.ID, "user-name")
+        password = self.driver.find_element(By.ID, "password")
+        login = self.driver.find_element(By.ID, "login-button")
+
+        writeInInput(inputElement=username, text=user)
+        writeInInput(password, text=pwd)
+        login.click()
+
     def logout(self):
         burger = self.driver.find_element(By.ID, "react-burger-menu-btn")
         burger.click()
         logout = self.driver.find_element(By.ID, "logout_sidebar_link")
         logout.click()
 
+    def add_item(self, item):
+        self.driver.find_element(By.ID, f"add-to-cart-sauce-labs-{item}").click()
+        return item
+
+    def go_to_checkout(self):
+        checkout = self.driver.find_element(By.CSS_SELECTOR, "#checkout")
+        checkout.click()
+
+    ##### TEST ABBAS
+
     @pytest.mark.skip("")
     def test_saucedemo_boutenbout(self):
         self.login()
         self.logout()
 
-    ##### MATTHIEU
-
-##### MANEL
-    
-    def login_custum(self,user, pwd):
-        username = self.driver.find_element(By.ID, "user-name")
-        password = self.driver.find_element(By.ID, "password")
-        login = self.driver.find_element(By.ID, "login-button")  
-
-        writeInInput(inputElement=username, text= user)
-        writeInInput(password, text=pwd)
-        login.click()
-
+    ##### TEST MANEL
 
+    @pytest.mark.skip("")
     def test_login_bad_username(self):
         self.login_custum("test", "secret_sauce")
 
-        erreur_message = self.driver.find_element(By.CSS_SELECTOR,'[data-test=error]')
-
-        assert erreur_message.is_displayed(), "Pas de message d\'erreur "
-        assert erreur_message.text == "Epic sadface: Username and password do not match any user in this service", "le message est erroné"
+        erreur_message = self.driver.find_element(By.CSS_SELECTOR, "[data-test=error]")
 
+        assert erreur_message.is_displayed(), "Pas de message d'erreur "
+        assert (
+            erreur_message.text
+            == "Epic sadface: Username and password do not match any user in this service"
+        ), "le message est erroné"
 
+    @pytest.mark.skip("")
     def test_login_bad_passwrd(self):
         self.login_custum("standard_user", "test")
 
-        erreur_message = self.driver.find_element(By.CSS_SELECTOR,'[data-test=error]')
+        erreur_message = self.driver.find_element(By.CSS_SELECTOR, "[data-test=error]")
 
-        assert erreur_message.is_displayed(), "Pas de message d\'erreur "
-        assert erreur_message.text == "Epic sadface: Username and password do not match any user in this service", "le message est erroné"
+        assert erreur_message.is_displayed(), "Pas de message d'erreur "
+        assert (
+            erreur_message.text
+            == "Epic sadface: Username and password do not match any user in this service"
+        ), "le message est erroné"
 
     
     def test_login_bad_username_and_bad_passwrd(self):
@@ -159,8 +176,7 @@ class TestSauceDemo:
         self.login()
 
         # ajout "Sauce Labs Bike Light" au panier -- A changer si Tiff implémente une fonction pour le faire
-        item_lamp = self.driver.find_element(By.ID, "add-to-cart-sauce-labs-bike-light")
-        item_lamp.click()
+        self.add_item("bike-light")
 
         # affichage panier -- A changer si Tiff implémente une fonction pour le faire
         panier_btn = self.driver.find_element(By.ID, "shopping_cart_container")
@@ -174,17 +190,23 @@ class TestSauceDemo:
             == "https://www.saucedemo.com/checkout-step-one.html"
         ), "Nous ne somme pas sur la bonne page"
 
-    ##### TIFF
-    def add_item(self):
+    ##### TEST TIFF
+
+    @pytest.mark.skip("")
+    def test_add_item(self):
         self.login()
-        sauce_labs_backpack = self.driver.find_element(
-            By.ID, "add-to-cart-sauce-labs-backpack"
-        ).click()
-        shopping_container = self.driver.find_element(By.ID, "shopping_cart_container")
+        backpack_item = "backpack"
+        add_to_cart_button = self.driver.find_element(
+            By.ID, f"add-to-cart-sauce-labs-{backpack_item}"
+        )
+        self.add_item(backpack_item)
+        log.info(f"Le bouton : {add_to_cart_button} est cliqué")
+        post_add_item_click = self.driver.find_element(
+            By.ID, f"remove-sauce-labs-{backpack_item}"
+        )
         assert (
-            sauce_labs_backpack != shopping_container.text
-        ), f"L'item {sauce_labs_backpack} ne correspond pas à l'item {shopping_container.text} présent dans le panier."
+            add_to_cart_button == post_add_item_click
+        ), f"Le bouton {add_to_cart_button} ne correspond pas au résultat attendu qui est : {post_add_item_click}"
         log.info(
-            f"L'item : {shopping_container.text} a été ajouté et l'item : {sauce_labs_backpack} était attendu"
+            f"Avant d'ajouter l'item le bouton proposé est : {add_to_cart_button} et le bouton est : {post_add_item_click} après ajout de l'item"
         )
-        self.driver.quit()