def test_save_as_jpg(tmpdir, test_image):
    folder = tmpdir.mkdir('screenshots').strpath
    save_as_jpg(image_date=test_image, folder=folder, filename=TEST_FILENAME)
    screenshot_filename = '{fname}.{ext}'.format(
        fname=TEST_FILENAME, ext=IMAGE_EXT)
    file_path = path.join(folder, screenshot_filename)
    assert path.isfile(file_path)
def test_save_as_jpg_file_exist_error(tmpdir, test_image):
    folder = tmpdir.mkdir('screenshots').strpath
    screenshot_filename = '{fname}.{ext}'.format(
        fname=TEST_FILENAME, ext=IMAGE_EXT)
    file_path = path.join(folder, screenshot_filename)
    with open(file_path, 'w') as fp:
        fp.write('test')
    assert path.isfile(file_path)
    with pytest.raises(DuplicateFile) as err:
        save_as_jpg(image_date=test_image,
                    folder=folder,
                    filename=TEST_FILENAME)
    assert err.value.message == 'File already exist'
示例#3
0
def screenshot_single_target(browser, url, folder, filename):
    if not browser.get(url=url):
        return
    logger.info("Saving image for target {url}".format(url=url))
    print("Screenshoting {url}".format(url=url))
    try:
        save_as_jpg(image_date=browser.target_screenshot,
                    folder=folder,
                    filename=filename)
    except DuplicateFile:
        logger.warning("Image '{name}.{ext}' already exist".format(
            name=filename,
            ext=IMAGE_EXT,
        ))
        return

    # Printing success
    log_msg = "Image '{name}' for url {url} saved successfully".format(
        name=filename, url=url)
    logger.info(log_msg)
    print('Saving {done}'.format(done=DONE_PRINT))
def test_save_as_jpg_invalid_image_data(tmpdir, image):
    folder = tmpdir.mkdir('screenshots').strpath
    with pytest.raises(IOError):
        save_as_jpg(image_date=image, folder=folder, filename=TEST_FILENAME)
def test_save_as_jpg_invalid_filename(filename, tmpdir, test_image):
    folder = tmpdir.mkdir('screenshots').strpath
    with pytest.raises(IOError) as err:
        save_as_jpg(image_date=test_image, folder=folder, filename=filename)
    assert err.value.message == 'Invalid filename'
def test_save_as_jpg_invalid_folder(folder, test_image):
    with pytest.raises(IOError) as err:
        save_as_jpg(image_date=test_image, folder=folder, filename='test_1')
    assert err.value.message == 'Invalid folder'