Esempio n. 1
0
 async def to_have_text(
     self,
     expected: Union[List[Union[Pattern, str]], Pattern, str],
     use_inner_text: bool = None,
     timeout: float = None,
 ) -> None:
     __tracebackhide__ = True
     if isinstance(expected, list):
         expected_text = to_expected_text_values(expected,
                                                 normalize_white_space=True)
         await self._expect_impl(
             "to.have.text.array",
             FrameExpectOptions(
                 expectedText=expected_text,
                 useInnerText=use_inner_text,
                 timeout=timeout,
             ),
             expected,
             "Locator expected to have text",
         )
     else:
         expected_text = to_expected_text_values([expected],
                                                 normalize_white_space=True)
         await self._expect_impl(
             "to.have.text",
             FrameExpectOptions(
                 expectedText=expected_text,
                 useInnerText=use_inner_text,
                 timeout=timeout,
             ),
             expected,
             "Locator expected to have text",
         )
Esempio n. 2
0
 async def _expect_impl(
     self,
     expression: str,
     expect_options: FrameExpectOptions,
     expected: Any,
     message: str,
 ) -> None:
     __tracebackhide__ = True
     expect_options["isNot"] = self._is_not
     if expect_options.get("timeout") is None:
         expect_options["timeout"] = 5_000
     if expect_options["isNot"]:
         message = message.replace("expected to", "expected not to")
     if "useInnerText" in expect_options and expect_options["useInnerText"] is None:
         del expect_options["useInnerText"]
     result = await self._actual_locator._expect(expression, expect_options)
     if result["matches"] == self._is_not:
         actual = result.get("received")
         log = "\n".join(result.get("log", "")).strip()
         if log:
             log = "\nCall log:\n" + log
         if expected is not None:
             raise AssertionError(
                 f"{message} '{expected}'\nActual value: {actual} {log}"
             )
         raise AssertionError(f"{message}\nActual value: {actual} {log}")
Esempio n. 3
0
 async def to_be_focused(
     self,
     timeout: float = None,
 ) -> None:
     __tracebackhide__ = True
     await self._expect_impl(
         "to.be.focused",
         FrameExpectOptions(timeout=timeout),
         None,
         "Locator expected to be focused",
     )
Esempio n. 4
0
 async def to_have_count(
     self,
     count: int,
     timeout: float = None,
 ) -> None:
     __tracebackhide__ = True
     await self._expect_impl(
         "to.have.count",
         FrameExpectOptions(expectedNumber=count, timeout=timeout),
         count,
         "Locator expected to have count",
     )
Esempio n. 5
0
 async def to_have_title(self,
                         title_or_reg_exp: Union[Pattern, str],
                         timeout: float = None) -> None:
     expected_values = to_expected_text_values([title_or_reg_exp],
                                               normalize_white_space=True)
     __tracebackhide__ = True
     await self._expect_impl(
         "to.have.title",
         FrameExpectOptions(expectedText=expected_values, timeout=timeout),
         title_or_reg_exp,
         "Page title expected to be",
     )
Esempio n. 6
0
 async def to_have_values(
     self,
     values: List[Union[Pattern[str], str]],
     timeout: float = None,
 ) -> None:
     __tracebackhide__ = True
     expected_text = to_expected_text_values(values)
     await self._expect_impl(
         "to.have.values",
         FrameExpectOptions(expectedText=expected_text, timeout=timeout),
         values,
         "Locator expected to have Values",
     )
Esempio n. 7
0
 async def to_have_id(
     self,
     id: Union[str, Pattern[str]],
     timeout: float = None,
 ) -> None:
     __tracebackhide__ = True
     expected_text = to_expected_text_values([id])
     await self._expect_impl(
         "to.have.id",
         FrameExpectOptions(expectedText=expected_text, timeout=timeout),
         id,
         "Locator expected to have ID",
     )
Esempio n. 8
0
 async def to_have_class(
     self,
     expected: Union[List[Union[Pattern[str], str]], Pattern[str], str],
     timeout: float = None,
 ) -> None:
     __tracebackhide__ = True
     if isinstance(expected, list):
         expected_text = to_expected_text_values(expected)
         await self._expect_impl(
             "to.have.class.array",
             FrameExpectOptions(expectedText=expected_text, timeout=timeout),
             expected,
             "Locator expected to have class",
         )
     else:
         expected_text = to_expected_text_values([expected])
         await self._expect_impl(
             "to.have.class",
             FrameExpectOptions(expectedText=expected_text, timeout=timeout),
             expected,
             "Locator expected to have class",
         )
Esempio n. 9
0
 async def to_be_checked(
     self,
     timeout: float = None,
     checked: bool = None,
 ) -> None:
     __tracebackhide__ = True
     await self._expect_impl(
         "to.be.checked"
         if checked is None or checked is True else "to.be.unchecked",
         FrameExpectOptions(timeout=timeout),
         None,
         "Locator expected to be checked",
     )
Esempio n. 10
0
 async def to_have_value(
     self,
     value: Union[str, Pattern],
     timeout: float = None,
 ) -> None:
     __tracebackhide__ = True
     expected_text = to_expected_text_values([value])
     await self._expect_impl(
         "to.have.value",
         FrameExpectOptions(expectedText=expected_text, timeout=timeout),
         value,
         "Locator expected to have Value",
     )
Esempio n. 11
0
 async def to_have_url(
     self, url_or_reg_exp: Union[str, Pattern[str]], timeout: float = None
 ) -> None:
     __tracebackhide__ = True
     base_url = self._actual_page.context._options.get("baseURL")
     if isinstance(url_or_reg_exp, str) and base_url:
         url_or_reg_exp = urljoin(base_url, url_or_reg_exp)
     expected_text = to_expected_text_values([url_or_reg_exp])
     await self._expect_impl(
         "to.have.url",
         FrameExpectOptions(expectedText=expected_text, timeout=timeout),
         url_or_reg_exp,
         "Page URL expected to be",
     )
Esempio n. 12
0
 async def to_have_js_property(
     self,
     name: str,
     value: Any,
     timeout: float = None,
 ) -> None:
     __tracebackhide__ = True
     await self._expect_impl(
         "to.have.property",
         FrameExpectOptions(
             expressionArg=name, expectedValue=value, timeout=timeout
         ),
         value,
         "Locator expected to have JS Property",
     )
Esempio n. 13
0
 async def to_have_css(
     self,
     name: str,
     value: Union[str, Pattern[str]],
     timeout: float = None,
 ) -> None:
     __tracebackhide__ = True
     expected_text = to_expected_text_values([value])
     await self._expect_impl(
         "to.have.css",
         FrameExpectOptions(
             expressionArg=name, expectedText=expected_text, timeout=timeout
         ),
         value,
         "Locator expected to have CSS",
     )