Как сделать скриншот в транспортире на провал тестовых случаев

Я новичок в транспортире и хотел бы сделать скриншоты моих неудачных тестов в браузерах.

Можете ли вы помочь мне, посоветовав, как мне поступить?

Спасибо:)

2 ответа

Ты можешь использовать protractor-jasmine2-screenshot-reporter Модуль для этого, он имеет некоторые хорошие функции, которые будут служить вашей цели.

 var HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter');

 var reporter = new HtmlScreenshotReporter({
 dest: 'target/screenshots',
 filename: 'my-report.html',
 captureOnlyFailedSpecs: true
});

Это будет снимать скриншоты, когда ваши спецификации потерпели неудачу, у вас есть много вариантов, вы можете проверить эту ссылку: https://www.npmjs.com/package/protractor-jasmine2-screenshot-reporter

Пожалуйста, посмотрите на этот кусок кода. В этом коде мы правильно регистрируем функцию скриншота с помощью jasmine reporter. Это работает для меня.

onPrepare: function() {
jasmine.getEnv().addReporter({
  specDone: function(result) {
    browser.takeScreenshot().then(function(screenShot) {

      //    Saving File.
      //    Param filePath : where you want to store screenShot
      //    Param screenShot : Screen shot file which you want to store. 

      fs.writeFile(filePath, screenShot, 'base64', function (err) {
      if (err) throw err;
      console.log('File saved.');
      });

    });
  }
});
}

Я надеюсь, что это помогает!:)

Ссылка ссылка

https://www.npmjs.com/package/protractor-beautiful-reporter может создавать хорошие отчеты в формате HTML, включая снимки экрана.

Установка:

npm install protractor-beautiful-reporter --save-dev

Конфигурация в protractor.conf.js:

const HtmlReporter = require('protractor-beautiful-reporter');

exports.config = {
   // your config here ...

   onPrepare: function() {
      jasmine.getEnv().addReporter(new HtmlReporter({
         baseDirectory: 'target/screenshots',
         takeScreenShotsOnlyForFailedSpecs: true
      }).getJasmine2Reporter());
   }
}

Если вы используете framework: 'custom' в protractor.conf.js, то использование Jasmine или репортера Jasmine, похоже, не работает.

Вы можете сделать что-то вроде следующего в своем пост-тестовом хуке (например, cucumber.After):


  protractor.browser.takeScreenshot().then(function(screenshot) {
    const screenshots = path.join(process.cwd(), 'e2e/reports/screenshots');

    fs.writeFile(screenshots + '/test.png', screenshot, 'base64', function (err) {
      if (err) {
          throw err;
      }
      console.log('File saved.');
    });
  });
Другие вопросы по тегам