13

使用Selenium 的 webdriverjs运行 webdriver 测试时截屏的正确方法是什么?

我已经启动了独立的 selenium 服务器,我可以看到在 selenium-server 上记录了截图命令,但截图没有被保存。

我的代码如下:

var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().usingServer('http://localURL:4444/wd/hub').withCapabilities({'browserName': 'chrome'}).build();
driver.get([URL to webserver on my local machine])

driver.takeScreenshot("c:\\selenium_local_map\\out1.png");
4

1 回答 1

24

截屏返回一个承诺,该承诺将使用 Base64 编码的 png 进行解析。要写入数据,您需要执行以下操作:

function writeScreenshot(data, name) {
  name = name || 'ss.png';
  var screenshotPath = 'C:\\selenium_local_map\\';
  fs.writeFileSync(screenshotPath + name, data, 'base64');
};

driver.takeScreenshot().then(function(data) {
  writeScreenshot(data, 'out1.png');
});

更多文档可以在这里找到

于 2013-04-20T03:25:55.937 回答