20.42 s

: 3 total, 2 failed, 1 passed

  • Collapse |
  • Expand
  • 20.42 s
    test_parametrize
    • 20.42 s
      test_Login_page
      • 6.64 s
        passed(test-test)
        • PASSED [ 33%]Login Passed
      • 6.88 s
        failed(fakeUser-fakePassword)
        • FAILED [ 66%]
        • test_parametrize.py:13 (test_Login_page[fakeUser-fakePassword])driver =
          username = 'fakeUser', password = 'fakePassword'
          @pytest.mark.parametrize("username, password",[
          ("test", "test"),
          ("fakeUser", "fakePassword"),
          ("test1", "test1"),
          ])
          #End Parametrized

          # We Must provide Username and password in Parameter :
          def test_Login_page(driver, username, password):
          driver.get("https://trytestingthis.netlify.app/")
          user_name = driver.find_element(By.ID, "uname")
          user_pass = driver.find_element(By.ID, "pwd")
          login_button = driver.find_element(By.XPATH, "//input[@value='Login']")
          user_name.send_keys(username)
          user_pass.send_keys(password)
          login_button.click()
          time.sleep(4)
          > assert "Login Successful" in driver.page_source
          test_parametrize.py:31:
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          ..\..\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:448: in page_source
          return self.execute(Command.GET_PAGE_SOURCE)["value"]
          ..\..\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:347: in execute
          self.error_handler.check_response(response)
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          self =
          response = {'status': 500, 'value': '{"value":{"data":{"text":"Wrong Credentials! Try again!"},"error":"unexpected alert open","m...07FF67CF39B94]\\n\\tBaseThreadInitThunk [0x00007FFD051B7344+20]\\n\\tRtlUserThreadStart [0x00007FFD071C26B1+33]\\n"}}'}
          def check_response(self, response: Dict[str, Any]) -> None:
          """Checks that a JSON response from the WebDriver does not have an
          error.

          :Args:
          - response - The JSON response from the WebDriver server as a dictionary
          object.

          :Raises: If the response contains an error message.
          """
          status = response.get("status", None)
          if not status or status == ErrorCode.SUCCESS:
          return
          value = None
          message = response.get("message", "")
          screen: str = response.get("screen", "")
          stacktrace = None
          if isinstance(status, int):
          value_json = response.get("value", None)
          if value_json and isinstance(value_json, str):
          import json

          try:
          value = json.loads(value_json)
          if len(value) == 1:
          value = value["value"]
          status = value.get("error", None)
          if not status:
          status = value.get("status", ErrorCode.UNKNOWN_ERROR)
          message = value.get("value") or value.get("message")
          if not isinstance(message, str):
          value = message
          message = message.get("message")
          else:
          message = value.get("message", None)
          except ValueError:
          pass

          exception_class: Type[WebDriverException]
          e = ErrorCode()
          error_codes = [item for item in dir(e) if not item.startswith("__")]
          for error_code in error_codes:
          error_info = getattr(ErrorCode, error_code)
          if isinstance(error_info, list) and status in error_info:
          exception_class = getattr(ExceptionMapping, error_code, WebDriverException)
          break
          else:
          exception_class = WebDriverException

          if not value:
          value = response["value"]
          if isinstance(value, str):
          raise exception_class(value)
          if message == "" and "message" in value:
          message = value["message"]

          screen = None # type: ignore[assignment]
          if "screen" in value:
          screen = value["screen"]

          stacktrace = None
          st_value = value.get("stackTrace") or value.get("stacktrace")
          if st_value:
          if isinstance(st_value, str):
          stacktrace = st_value.split("\n")
          else:
          stacktrace = []
          try:
          for frame in st_value:
          line = frame.get("lineNumber", "")
          file = frame.get("fileName", "")
          if line:
          file = f"{file}:{line}"
          meth = frame.get("methodName", "")
          if "className" in frame:
          meth = f"{frame['className']}.{meth}"
          msg = " at %s (%s)"
          msg = msg % (meth, file)
          stacktrace.append(msg)
          except TypeError:
          pass
          if exception_class == UnexpectedAlertPresentException:
          alert_text = None
          if "data" in value:
          alert_text = value["data"].get("text")
          elif "alert" in value:
          alert_text = value["alert"].get("text")
          > raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here
          E selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: Wrong Credentials! Try again!
          E Message: unexpected alert open: {Alert text : Wrong Credentials! Try again!}
          E (Session info: chrome=123.0.6312.106)
          E Stacktrace:
          E GetHandleVerifier [0x00007FF67CFD7032+63090]
          E (No symbol) [0x00007FF67CF42C82]
          E (No symbol) [0x00007FF67CDDEC65]
          E (No symbol) [0x00007FF67CE63B70]
          E (No symbol) [0x00007FF67CE46D83]
          E (No symbol) [0x00007FF67CE183A8]
          E (No symbol) [0x00007FF67CE19441]
          E GetHandleVerifier [0x00007FF67D3D25AD+4238317]
          E GetHandleVerifier [0x00007FF67D40F70D+4488525]
          E GetHandleVerifier [0x00007FF67D4079EF+4456495]
          E GetHandleVerifier [0x00007FF67D0B0576+953270]
          E (No symbol) [0x00007FF67CF4E54F]
          E (No symbol) [0x00007FF67CF49224]
          E (No symbol) [0x00007FF67CF4935B]
          E (No symbol) [0x00007FF67CF39B94]
          E BaseThreadInitThunk [0x00007FFD051B7344+20]
          E RtlUserThreadStart [0x00007FFD071C26B1+33]
          ..\..\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\errorhandler.py:228: UnexpectedAlertPresentException
      • 6.89 s
        failed(test1-test1)
        • FAILED [100%]
        • test_parametrize.py:13 (test_Login_page[test1-test1])driver =
          username = 'test1', password = 'test1'
          @pytest.mark.parametrize("username, password",[
          ("test", "test"),
          ("fakeUser", "fakePassword"),
          ("test1", "test1"),
          ])
          #End Parametrized

          # We Must provide Username and password in Parameter :
          def test_Login_page(driver, username, password):
          driver.get("https://trytestingthis.netlify.app/")
          user_name = driver.find_element(By.ID, "uname")
          user_pass = driver.find_element(By.ID, "pwd")
          login_button = driver.find_element(By.XPATH, "//input[@value='Login']")
          user_name.send_keys(username)
          user_pass.send_keys(password)
          login_button.click()
          time.sleep(4)
          > assert "Login Successful" in driver.page_source
          test_parametrize.py:31:
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          ..\..\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:448: in page_source
          return self.execute(Command.GET_PAGE_SOURCE)["value"]
          ..\..\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:347: in execute
          self.error_handler.check_response(response)
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          self =
          response = {'status': 500, 'value': '{"value":{"data":{"text":"Wrong Credentials! Try again!"},"error":"unexpected alert open","m...07FF67CF39B94]\\n\\tBaseThreadInitThunk [0x00007FFD051B7344+20]\\n\\tRtlUserThreadStart [0x00007FFD071C26B1+33]\\n"}}'}
          def check_response(self, response: Dict[str, Any]) -> None:
          """Checks that a JSON response from the WebDriver does not have an
          error.

          :Args:
          - response - The JSON response from the WebDriver server as a dictionary
          object.

          :Raises: If the response contains an error message.
          """
          status = response.get("status", None)
          if not status or status == ErrorCode.SUCCESS:
          return
          value = None
          message = response.get("message", "")
          screen: str = response.get("screen", "")
          stacktrace = None
          if isinstance(status, int):
          value_json = response.get("value", None)
          if value_json and isinstance(value_json, str):
          import json

          try:
          value = json.loads(value_json)
          if len(value) == 1:
          value = value["value"]
          status = value.get("error", None)
          if not status:
          status = value.get("status", ErrorCode.UNKNOWN_ERROR)
          message = value.get("value") or value.get("message")
          if not isinstance(message, str):
          value = message
          message = message.get("message")
          else:
          message = value.get("message", None)
          except ValueError:
          pass

          exception_class: Type[WebDriverException]
          e = ErrorCode()
          error_codes = [item for item in dir(e) if not item.startswith("__")]
          for error_code in error_codes:
          error_info = getattr(ErrorCode, error_code)
          if isinstance(error_info, list) and status in error_info:
          exception_class = getattr(ExceptionMapping, error_code, WebDriverException)
          break
          else:
          exception_class = WebDriverException

          if not value:
          value = response["value"]
          if isinstance(value, str):
          raise exception_class(value)
          if message == "" and "message" in value:
          message = value["message"]

          screen = None # type: ignore[assignment]
          if "screen" in value:
          screen = value["screen"]

          stacktrace = None
          st_value = value.get("stackTrace") or value.get("stacktrace")
          if st_value:
          if isinstance(st_value, str):
          stacktrace = st_value.split("\n")
          else:
          stacktrace = []
          try:
          for frame in st_value:
          line = frame.get("lineNumber", "")
          file = frame.get("fileName", "")
          if line:
          file = f"{file}:{line}"
          meth = frame.get("methodName", "")
          if "className" in frame:
          meth = f"{frame['className']}.{meth}"
          msg = " at %s (%s)"
          msg = msg % (meth, file)
          stacktrace.append(msg)
          except TypeError:
          pass
          if exception_class == UnexpectedAlertPresentException:
          alert_text = None
          if "data" in value:
          alert_text = value["data"].get("text")
          elif "alert" in value:
          alert_text = value["alert"].get("text")
          > raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here
          E selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: Wrong Credentials! Try again!
          E Message: unexpected alert open: {Alert text : Wrong Credentials! Try again!}
          E (Session info: chrome=123.0.6312.106)
          E Stacktrace:
          E GetHandleVerifier [0x00007FF67CFD7032+63090]
          E (No symbol) [0x00007FF67CF42C82]
          E (No symbol) [0x00007FF67CDDEC65]
          E (No symbol) [0x00007FF67CE63B70]
          E (No symbol) [0x00007FF67CE46D83]
          E (No symbol) [0x00007FF67CE183A8]
          E (No symbol) [0x00007FF67CE19441]
          E GetHandleVerifier [0x00007FF67D3D25AD+4238317]
          E GetHandleVerifier [0x00007FF67D40F70D+4488525]
          E GetHandleVerifier [0x00007FF67D4079EF+4456495]
          E GetHandleVerifier [0x00007FF67D0B0576+953270]
          E (No symbol) [0x00007FF67CF4E54F]
          E (No symbol) [0x00007FF67CF49224]
          E (No symbol) [0x00007FF67CF4935B]
          E (No symbol) [0x00007FF67CF39B94]
          E BaseThreadInitThunk [0x00007FFD051B7344+20]
          E RtlUserThreadStart [0x00007FFD071C26B1+33]
          ..\..\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\errorhandler.py:228: UnexpectedAlertPresentException

Generated by PyCharm on 4/21/24, 7:31 AM