Selene, как сделать папку для хранения скриншотов в текущей директории

python
selene
Теги: #<Tag:0x00007f3d40918fa0> #<Tag:0x00007f3d40918e10>

(Вадим) #1

Надо сохранять скриншоты об упавших тестах в директории с тестами (для удобной манипуляции ими), как это сделать ?


(Sergey Pirogov) #2

там есть параметр в config


(Livira) #3

А какой фреймворк?
Как вариант, можно использовать рулу:

@Rule
    MethodRule watchman = new TestWatchman() {
        @Override
        public void failed(Throwable e, FrameworkMethod method) {
            try {
                File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
                String timeStamp = new SimpleDateFormat("h-mm-aa").format(Calendar.getInstance().getTime());
                FileUtils.copyFile(scrFile, new File("src\\test\\resources" + "\\screenshots\\" +
                        method.getName() + "-" + timeStamp + ".png"));
            } catch (FileNotFoundException e1) {
            }
        }
    }

В Cucumner можно написать такое:

@After
    public static void takeAndEmbedScreenshot(Scenario scenario) {
        if (scenario.isFailed()) {
            try {
                scenario.write("Current Page URL is " + getDriver().getCurrentUrl());
                byte[] screenshot = ((TakesScreenshot) getDriver()).getScreenshotAs(OutputType.BYTES);
                scenario.embed(screenshot, "image/png");
            } catch (WebDriverException somePlatformsDontSupportScreenshots) {
                System.err.println(somePlatformsDontSupportScreenshots.getMessage());
            }
        }
    }

(Bolatbek) #4

Какой у вас интересный питоновский код )))).
Вы теги посмотрите - интересует топикстартера python + selene.


(Вадим) #5

Сергей, спасибо. Тему можно закрыть