def test_create_dom_snapshot_disable_cross_origin_rendering(driver):
    driver = EyesWebDriver(driver, None)
    driver.get("https://applitools.github.io/demo/TestPages/CorsTestPage/")

    dom = create_dom_snapshot(driver, False, [], 10000, False)

    assert len(dom["frames"][0]["frames"]) == 0
def test_create_dom_snapshot_with_cors_iframe(driver):
    driver = EyesWebDriver(driver, None)
    driver.get("https://applitools.github.io/demo/TestPages/CorsTestPage/")

    dom = create_dom_snapshot(driver, False, [], 10000, True)

    assert len(dom["frames"][0]["crossFrames"]) == 1
    assert dom["frames"][0]["crossFrames"][0]["index"] == 16
    assert "selector" in dom["frames"][0]["crossFrames"][0]
def test_create_dom_snapshot_has_cors_iframe_data(driver):
    driver = EyesWebDriver(driver, None)
    driver.get("https://applitools.github.io/demo/TestPages/CorsTestPage/")

    dom = create_dom_snapshot(driver, False, [], 10000, True)

    assert len(dom["frames"][0]["frames"]) == 1
    assert (dom["frames"][0]["frames"][0]["url"] ==
            "https://afternoon-savannah-68940.herokuapp.com/#")
def test_create_dom_snapshot_ie(mocked_create_dom_snapshot_loop):
    driver = mock.MagicMock()
    driver.user_agent.is_internet_explorer = True
    create_dom_snapshot(driver, False, [], 1, True)

    calls = mocked_create_dom_snapshot_loop.call_args_list
    assert calls == [
        mock.call(
            mock.ANY,
            mock.ANY,
            1000,
            52428800,
            dont_fetch_resources=False,
            skip_resources=[],
            serialize_resources=True,
        )
    ]
    assert type(calls[0].args[0]) is DomSnapshotScriptForIE
def test_create_dom_snapshot_ios(mocked_create_dom_snapshot_loop):
    driver = mock.MagicMock()
    driver.user_agent.is_internet_explorer = False
    driver.desired_capabilities = {"platformName": "ios"}
    create_dom_snapshot(driver, True, [], 1, True)

    calls = mocked_create_dom_snapshot_loop.call_args_list
    assert calls == [
        mock.call(
            mock.ANY,
            mock.ANY,
            1000,
            10485760,
            dont_fetch_resources=True,
            skip_resources=[],
            serialize_resources=True,
        )
    ]
    assert type(calls[0].args[0]) is DomSnapshotScriptGeneric
Beispiel #6
0
def test_create_dom_snapshot_generic(mocked_create_dom_snapshot_loop):
    driver = mock.MagicMock()
    driver.user_agent.is_internet_explorer = False

    with mock.patch.object(dom_snapshot_script, "time", return_value=1.0) as time_mock:
        create_dom_snapshot(driver, True, [""], 1, True)

    calls = mocked_create_dom_snapshot_loop.call_args_list
    assert calls == [
        mock.call(
            mock.ANY,
            1.001,
            1000,
            52428800,
            dont_fetch_resources=True,
            skip_resources=[""],
            serialize_resources=True,
        )
    ]
    assert type(calls[0].args[0]) is DomSnapshotScriptGeneric
 def get_script_result(self, dont_fetch_resources):
     # type: (bool) -> Dict
     logger.debug("get_script_result(dont_fetch_resources={})".format(
         dont_fetch_resources))
     try:
         return dom_snapshot_script.create_dom_snapshot(
             self.driver,
             dont_fetch_resources,
             None,
             DOM_EXTRACTION_TIMEOUT,
             self.configure.enable_cross_origin_rendering,
         )
     except dom_snapshot_script.DomSnapshotFailure as e:
         raise_from(EyesError("Failed to capture dom snapshot"), e)
Beispiel #8
0
def test_create_dom_snapshot_retries_on_single_failure(driver, monkeypatch):
    create_dom_snapshot_loop = dom_snapshot_script.create_dom_snapshot_loop

    def failing_once_loop(*args, **kwargs):
        failing_once_loop.call_count += 1
        if failing_once_loop.call_count == 2:
            raise Exception
        else:
            return create_dom_snapshot_loop(*args, **kwargs)

    failing_once_loop.call_count = 0
    monkeypatch.setattr(
        dom_snapshot_script, "create_dom_snapshot_loop", failing_once_loop
    )

    driver = EyesWebDriver(driver, None)
    driver.get("https://applitools.github.io/demo/TestPages/CorsTestPage/")

    dom = create_dom_snapshot(driver, False, [], 1000000, True)

    assert len(dom["frames"][0]["crossFrames"]) == 1
    assert dom["frames"][0]["crossFrames"][0]["index"] == 16
    assert "selector" in dom["frames"][0]["crossFrames"][0]