Beispiel #1
0
def test_assert_screenshot_mobile_web_resize_and_exclude(driver_wrapper):
    # Create elements mock
    driver_wrapper.driver.execute_script.return_value = 0  # scrollX=0 and scrollY=0
    form_element = get_mock_element(x=0, y=0, height=559, width=375)
    exclude_elements = [get_mock_element(x=15, y=296.515625, height=32, width=345)]

    # Configure driver mock
    file_ios_web = os.path.join(root_path, 'resources', 'ios_web.png')
    with open(file_ios_web, "rb") as f:
        image_data = f.read()
    driver_wrapper.driver.get_screenshot_as_png.return_value = image_data
    driver_wrapper.driver.get_window_size.return_value = {'width': 375, 'height': 667}

    # Update conf and create a new VisualTest instance
    driver_wrapper.config.set('Driver', 'type', 'ios')
    driver_wrapper.config.set('AppiumCapabilities', 'browserName', 'safari')
    visual = VisualTest(driver_wrapper)

    # Assert screenshot
    visual.assert_screenshot(form_element, filename='screenshot_ios_web', file_suffix='screenshot_suffix',
                             exclude_elements=exclude_elements)
    driver_wrapper.driver.get_screenshot_as_png.assert_called_once_with()

    # Check cropped image
    expected_image = os.path.join(root_path, 'resources', 'ios_web_exclude.png')
    output_file = os.path.join(visual.output_directory, '01_screenshot_ios_web__screenshot_suffix.png')
    MagickEngine().assertSameFiles(output_file, expected_image, 0.1)

    # Output image and new baseline image must be equal
    baseline_file = os.path.join(root_path, 'output', 'visualtests', 'baseline', 'firefox', 'screenshot_ios_web.png')
    MagickEngine().assertSameFiles(output_file, baseline_file, 0.1)
Beispiel #2
0
def test_exclude_elements(driver_wrapper):
    # Create elements mock
    visual = VisualTest(driver_wrapper)
    web_elements = [get_mock_element(x=250, y=40, height=40, width=300),
                    get_mock_element(x=250, y=90, height=20, width=100)]
    img = Image.open(file_v1)  # Exclude elements
    img = visual.exclude_elements(img, web_elements)

    # Assert output image
    assert_image(visual, img, 'report_name', 'register_exclude')
Beispiel #3
0
    def test_exclude_elements(self):
        # Create elements mock
        web_elements = [get_mock_element(x=250, y=40, height=40, width=300),
                        get_mock_element(x=250, y=90, height=20, width=100)]
        img = Image.open(self.file_v1)

        # Exclude elements
        img = self.visual.exclude_elements(img, web_elements)

        # Assert output image
        self.assert_image(img, self._testMethodName, 'register_exclude')
Beispiel #4
0
def test_exclude_elements(driver_wrapper):
    # Create elements mock
    driver_wrapper.driver.execute_script.return_value = 0  # scrollX=0 and scrollY=0
    visual = VisualTest(driver_wrapper)
    web_elements = [get_mock_element(x=250, y=40, height=40, width=300),
                    get_mock_element(x=250, y=90, height=20, width=100)]
    img = Image.open(file_v1)  # Exclude elements
    img = visual.exclude_elements(img, web_elements)

    # Assert output image
    assert_image(visual, img, 'report_name', 'register_exclude')
Beispiel #5
0
    def test_exclude_elements(self):
        # Create elements mock
        web_elements = [
            get_mock_element(x=250, y=40, height=40, width=300),
            get_mock_element(x=250, y=90, height=20, width=100)
        ]
        img = Image.open(self.file_v1)

        # Exclude elements
        img = self.visual.exclude_elements(img, web_elements)

        # Assert output image
        self.assert_image(img, self._testMethodName, 'register_exclude')
Beispiel #6
0
def test_assert_screenshot_mobile_resize_and_exclude(driver_wrapper):
    # Create elements mock
    exclude_elements = [get_mock_element(x=0, y=0, height=24, width=375)]

    # Configure driver mock
    with open(file_ios, "rb") as f:
        image_data = f.read()
    driver_wrapper.driver.get_screenshot_as_png.return_value = image_data
    driver_wrapper.driver.get_window_size.return_value = {'width': 375, 'height': 667}

    # Update conf and create a new VisualTest instance
    driver_wrapper.config.set('Driver', 'type', 'ios')
    visual = VisualTest(driver_wrapper)

    # Assert screenshot
    visual.assert_screenshot(None, filename='screenshot_ios', file_suffix='screenshot_suffix',
                             exclude_elements=exclude_elements)
    driver_wrapper.driver.get_screenshot_as_png.assert_called_once_with()

    # Check cropped image
    expected_image = os.path.join(root_path, 'resources', 'ios_excluded.png')
    output_file = os.path.join(visual.output_directory, '01_screenshot_ios__screenshot_suffix.png')
    PilEngine().assertSameFiles(output_file, expected_image, 0.1)

    # Output image and new baseline image must be equals
    baseline_file = os.path.join(root_path, 'output', 'visualtests', 'baseline', 'firefox',
                                 'screenshot_ios.png')
    PilEngine().assertSameFiles(output_file, baseline_file, 0.1)
Beispiel #7
0
def test_assert_screenshot_element_and_save_baseline(driver_wrapper):
    # Create element mock
    driver_wrapper.driver.execute_script.return_value = 0  # scrollX=0 and scrollY=0
    web_element = get_mock_element(x=250, y=40, height=40, width=300)

    # Configure driver mock
    with open(file_v1, "rb") as f:
        image_data = f.read()
    driver_wrapper.driver.get_screenshot_as_png.return_value = image_data
    visual = VisualTest(driver_wrapper)

    # Assert screenshot
    visual.assert_screenshot(web_element,
                             filename='screenshot_elem',
                             file_suffix='screenshot_suffix')
    driver_wrapper.driver.get_screenshot_as_png.assert_called_once_with()

    # Check cropped image
    expected_image = os.path.join(root_path, 'resources',
                                  'register_cropped_element.png')
    output_file = os.path.join(visual.output_directory,
                               '01_screenshot_elem__screenshot_suffix.png')
    MagickEngine().assertSameFiles(output_file, expected_image, 0.1)

    # Output image and new baseline image must be equals
    baseline_file = os.path.join(root_path, 'output', 'visualtests',
                                 'baseline', 'firefox', 'screenshot_elem.png')
    MagickEngine().assertSameFiles(output_file, baseline_file, 0.1)
Beispiel #8
0
    def test_crop_element(self):
        # Create element mock
        web_element = get_mock_element(x=250, y=40, height=40, width=300)

        # Resize image
        img = Image.open(self.file_v1)
        img = self.visual.crop_element(img, web_element)

        # Assert output image
        self.assert_image(img, self._testMethodName, 'register_cropped_element')
Beispiel #9
0
def test_crop_element(driver_wrapper):
    # Create element mock
    web_element = get_mock_element(x=250, y=40, height=40, width=300)
    visual = VisualTest(driver_wrapper)

    # Resize image
    img = Image.open(file_v1)
    img = visual.crop_element(img, web_element)

    # Assert output image
    assert_image(visual, img, 'report_name', 'register_cropped_element')
Beispiel #10
0
    def test_crop_element(self):
        # Create element mock
        web_element = get_mock_element(x=250, y=40, height=40, width=300)

        # Resize image
        img = Image.open(self.file_v1)
        img = self.visual.crop_element(img, web_element)

        # Assert output image
        self.assert_image(img, self._testMethodName,
                          'register_cropped_element')
Beispiel #11
0
def test_crop_element(driver_wrapper):
    # Create element mock
    driver_wrapper.driver.execute_script.return_value = 0  # scrollX=0 and scrollY=0
    web_element = get_mock_element(x=250, y=40, height=40, width=300)
    visual = VisualTest(driver_wrapper)

    # Resize image
    img = Image.open(file_v1)
    img = visual.crop_element(img, web_element)

    # Assert output image
    assert_image(visual, img, 'report_name', 'register_cropped_element')
Beispiel #12
0
    def test_assert_screenshot_element_and_compare(self):
        # Add baseline image
        expected_image = os.path.join(self.root_path, 'resources', 'register_cropped_element.png')
        baseline_file = os.path.join(self.root_path, 'output', 'visualtests', 'baseline', 'firefox',
                                     'screenshot_elem.png')
        shutil.copyfile(expected_image, baseline_file)

        # Create element mock
        web_element = get_mock_element(x=250, y=40, height=40, width=300)

        # Configure driver mock
        with open(self.file_v1, "rb") as f:
            image_data = f.read()
        self.driver_wrapper.driver.get_screenshot_as_png.return_value = image_data

        # Assert screenshot
        self.visual.assert_screenshot(web_element, filename='screenshot_elem', file_suffix='screenshot_suffix')
        self.driver_wrapper.driver.get_screenshot_as_png.assert_called_once_with()
Beispiel #13
0
def test_assert_screenshot_element_and_compare(driver_wrapper):
    # Add baseline image
    driver_wrapper.driver.execute_script.return_value = 0  # scrollX=0 and scrollY=0
    visual = VisualTest(driver_wrapper)
    expected_image = os.path.join(root_path, 'resources', 'register_cropped_element.png')
    baseline_file = os.path.join(root_path, 'output', 'visualtests', 'baseline', 'firefox', 'screenshot_elem.png')
    shutil.copyfile(expected_image, baseline_file)

    # Create element mock
    web_element = get_mock_element(x=250, y=40, height=40, width=300)

    # Configure driver mock
    with open(file_v1, "rb") as f:
        image_data = f.read()
    driver_wrapper.driver.get_screenshot_as_png.return_value = image_data

    # Assert screenshot
    visual.assert_screenshot(web_element, filename='screenshot_elem', file_suffix='screenshot_suffix')
    driver_wrapper.driver.get_screenshot_as_png.assert_called_once_with()
Beispiel #14
0
    def test_assert_screenshot_element_and_save_baseline(self):
        # Create element mock
        web_element = get_mock_element(x=250, y=40, height=40, width=300)

        # Configure driver mock
        with open(self.file_v1, "rb") as f:
            image_data = f.read()
        self.driver_wrapper.driver.get_screenshot_as_png.return_value = image_data

        # Assert screenshot
        self.visual.assert_screenshot(web_element, filename='screenshot_elem', file_suffix='screenshot_suffix')
        self.driver_wrapper.driver.get_screenshot_as_png.assert_called_once_with()

        # Check cropped image
        expected_image = os.path.join(self.root_path, 'resources', 'register_cropped_element.png')
        output_file = os.path.join(self.visual.output_directory, '01_screenshot_elem__screenshot_suffix.png')
        PilEngine().assertSameFiles(output_file, expected_image, 0.1)

        # Output image and new baseline image must be equals
        baseline_file = os.path.join(self.root_path, 'output', 'visualtests', 'baseline', 'firefox',
                                     'screenshot_elem.png')
        PilEngine().assertSameFiles(output_file, baseline_file, 0.1)
Beispiel #15
0
def test_assert_screenshot_element_without_baseline(driver_wrapper):
    # Add baseline image
    driver_wrapper.driver.execute_script.return_value = 0  # scrollX=0 and scrollY=0
    driver_wrapper.config.set('VisualTests', 'fail', 'true')
    visual = VisualTest(driver_wrapper)

    # Create element mock
    web_element = get_mock_element(x=250, y=40, height=40, width=300)

    # Configure driver mock
    with open(file_v1, "rb") as f:
        image_data = f.read()
    driver_wrapper.driver.get_screenshot_as_png.return_value = image_data

    # Assert screenshot
    with pytest.raises(AssertionError) as exc:
        visual.assert_screenshot(web_element,
                                 filename='screenshot_elem',
                                 file_suffix='screenshot_suffix')
    driver_wrapper.driver.get_screenshot_as_png.assert_called_once_with()
    baseline_file = os.path.join(root_path, 'output', 'visualtests',
                                 'baseline', 'firefox', 'screenshot_elem.png')
    assert str(exc.value) == 'Baseline file not found: %s' % baseline_file
Beispiel #16
0
    def test_assert_screenshot_mobile_resize_and_exclude(self):
        # Create elements mock
        exclude_elements = [get_mock_element(x=0, y=0, height=24, width=375)]

        # Configure driver mock
        with open(self.file_ios, "rb") as f:
            image_data = f.read()
        self.driver_wrapper.driver.get_screenshot_as_png.return_value = image_data
        self.driver_wrapper.driver.get_window_size.return_value = {
            'width': 375,
            'height': 667
        }

        # Update conf and create a new VisualTest instance
        self.driver_wrapper.config.set('Driver', 'type', 'ios')
        self.visual = VisualTest(self.driver_wrapper)

        # Assert screenshot
        self.visual.assert_screenshot(None,
                                      filename='screenshot_ios',
                                      file_suffix='screenshot_suffix',
                                      exclude_elements=exclude_elements)
        self.driver_wrapper.driver.get_screenshot_as_png.assert_called_once_with(
        )

        # Check cropped image
        expected_image = os.path.join(self.root_path, 'resources',
                                      'ios_excluded.png')
        output_file = os.path.join(self.visual.output_directory,
                                   '01_screenshot_ios__screenshot_suffix.png')
        PilEngine().assertSameFiles(output_file, expected_image, 0.1)

        # Output image and new baseline image must be equals
        baseline_file = os.path.join(self.root_path, 'output', 'visualtests',
                                     'baseline', 'firefox',
                                     'screenshot_ios.png')
        PilEngine().assertSameFiles(output_file, baseline_file, 0.1)
Beispiel #17
0
def test_assert_screenshot_mobile_resize_and_exclude(driver_wrapper):
    # Create elements mock
    driver_wrapper.driver.execute_script.return_value = 0  # scrollX=0 and scrollY=0
    exclude_elements = [get_mock_element(x=0, y=0, height=24, width=375)]

    # Configure driver mock
    with open(file_ios, "rb") as f:
        image_data = f.read()
    driver_wrapper.driver.get_screenshot_as_png.return_value = image_data
    driver_wrapper.driver.get_window_size.return_value = {
        'width': 375,
        'height': 667
    }

    # Update conf and create a new VisualTest instance
    driver_wrapper.config.set('Driver', 'type', 'ios')
    driver_wrapper.config.set('VisualTests', 'save', 'true')
    visual = VisualTest(driver_wrapper)

    # Assert screenshot
    visual.assert_screenshot(None,
                             filename='screenshot_ios',
                             file_suffix='screenshot_suffix',
                             exclude_elements=exclude_elements)
    driver_wrapper.driver.get_screenshot_as_png.assert_called_once_with()

    # Check cropped image
    expected_image = os.path.join(root_path, 'resources', 'ios_excluded.png')
    output_file = os.path.join(visual.output_directory,
                               '01_screenshot_ios__screenshot_suffix.png')
    compare_image_files(output_file, expected_image)

    # Output image and new baseline image must be equal
    baseline_file = os.path.join(root_path, 'output', 'visualtests',
                                 'baseline', 'firefox', 'screenshot_ios.png')
    compare_image_files(output_file, baseline_file)