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)
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')
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')
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')
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')
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)
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)
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')
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')
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')
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()
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()
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)
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
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)
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)