2015-04-27 1 views
2

Здравствуйте!Взятие скриншотов в браузереСтрой работает Транспортир

Я пытаюсь делать скриншоты в транспортира и browserstack, я следующий conf.js файл:

var HtmlReporter = require('protractor-html-screenshot-reporter'); 
var reporter=new HtmlReporter({ 
    baseDirectory: './protractor-result', // a location to store screen shots. 
    docTitle: 'Report Test Summary', 
    docName: 'protractor-tests-report.html' 
}); 

// An example configuration file. 
exports.config = { 
    // The address of a running selenium server. 
    seleniumAddress: 'http://hub.browserstack.com/wd/hub', 

    // Capabilities to be passed to the webdriver instance. 
    capabilities: { 
    'browserName': 'chrome', 
    'version': '22.0', 
    'browserstack.user' : 'user_name', 
    'browserstack.key' : 'user_key', 
    'browserstack.debug' : 'true' 

    }, 

    // Spec patterns are relative to the current working directly when 
    // protractor is called. 
    specs: ['./specs/home_page_spec.js'], 

    // Options to be passed to Jasmine-node. 
    jasmineNodeOpts: { 
    showColors: true, 
    defaultTimeoutInterval: 30000 
    }, 
onPrepare: function() { 
     jasmine.getEnv().addReporter(reporter); 
     } 

    }; 

И browserstack помощь говорит, что мне нужно добавить following lines:

var fs = require('fs'); 

webdriver.WebDriver.prototype.saveScreenshot = function(filename) { 
    return driver.takeScreenshot().then(function(data) { 
     fs.writeFile(filename, data.replace(/^data:image\/png;base64,/,''), 'base64', function(err) { 
      if(err) throw err; 
     }); 
    }) 
}; 

driver.saveScreenshot('snapshot1.png'); 

Может ли кто-нибудь указать мне, где добавить эти строки? и как? (Я также использую шаблон PageObject)

ответ

0

Я думаю, что вы говорите о двух вещах, один из которых - плагин для создания скриншотов, а второй - создание стрелок вручную в вашем тестовом коде независимо от плагина.

В теории плагин должен сделать скриншоты для вас. Если нет, вы можете создать их вручную с помощью кода, предоставленного из браузера, просто введите его в тестовый код после некоторых ожиданий.

Во всяком случае, чтобы сделать скриншоты из транспортира я рекомендую использовать protractor-screenshoter-plugin (отказ от ответственности: я являюсь автором), также вы можете посмотреть на Protractor-Screenshots-Alernatives

Сейчас в одной из ветвей у меня есть новая поддержка распараллеливания , Посмотрите на https://github.com/azachar/protractor-screenshoter-plugin/tree/feat-parallel-support.

Чтобы установить нестабильную версию, которая содержит использование поддержки распараллеливание

npm install azachar/protractor-screenshoter-plugin#feat-parallel-support

установить стабильную версию без поддержки параллельного, просто наберите как обычно:

npm install protractor-screenshoter-plugin

Позвольте мне знать, если он работает так, как ожидалось!

Cheers, Andrej

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