【问题标题】:Taking screenshots in BrowserStack running Protractor在运行 Protractor 的 BrowserStack 中截屏
【发布时间】:2015-04-27 17:11:27
【问题描述】:

你好!

我正在尝试在量角器和浏览器堆栈中截屏,我有以下 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);
      }

  };

浏览器堆栈帮助说我需要添加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 模式)

【问题讨论】:

    标签: angularjs automation protractor browserstack


    【解决方案1】:

    我认为您在谈论两件事,一是用于制作屏幕截图的插件,二是在您的测试代码中手动创建屏幕截图,无论插件。

    理论上,该插件应该为您制作屏幕截图。如果没有,您可以使用 browserstack 提供的代码手动创建它们,只需在某些预期之后将它们放在测试代码中的任何位置。

    无论如何,要从量角器制作屏幕截图,我建议使用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

    让我知道它是否按预期工作!

    干杯, 安德烈

    【讨论】:

      猜你喜欢
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      • 2022-01-18
      相关资源
      最近更新 更多