2014-12-14 2 views
0

Тесты на основе Scala Specs2.Захват скриншота на тестах Specs2 (Scala)

class MyTests { 

    trait Context { 
    ... 
    } 

    "test number 1" should { 
    "render stuff amazingly" in new Context { 
     ...validations... 
    } 
    } 

Есть ли механизм захвата экрана, реализованный в Specs2? Об этом не упоминалось ни на официальном сайте, ни здесь. Если это возможно, было бы приятно узнать, как его реализовать.

+0

Был ли этот ответ полезным/правильным? Можете ли вы проверить его, если это так? – Eric

ответ

0

В спецификациях 2 нет функции захвата экрана.

Вы можете просто использовать Around контекст, как это:

trait Screenshot { 
    // take a screenshot and store it under the given path 
    def takeScreenshot(path: String): Unit = ??? 
} 

trait AroundEach with Screenshot { 

    // return a unique path 
    def screenshotPath: String = ??? 

    def around[R : AsResult](r: =>Result): Result = { 
    // execute the result 
    val result = AsResult(r) 
    if (!result.isSuccess) { 
     val screenshot = takeScreenshot(screenshotPath) 
     result.update(_+"\nScreenshot at"+screenshot) 
    } else result 
    } 
} 

Вы также можете расширить ExampleFactory использовать описание примера, чтобы создать путь скриншота. См. here в Руководстве пользователя и отправьте сообщения в списке рассылки, если что-либо не работает.

Смежные вопросы