用于在Node上使用Selenium的WebDriverJs截取屏幕截图的正确语法 [英] Correct syntax for taking screenshots with Selenium's WebDriverJs on Node

查看:203
本文介绍了用于在Node上使用Selenium的WebDriverJs截取屏幕截图的正确语法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用 Selenium的webdriverjs <运行网络驱动程序测试时截取屏幕截图的正确方法是什么? / a>?

What is the correct way of taking a screenshot when running a webdriver test with Selenium's webdriverjs?

我已经启动了独立的selenium服务器,我可以看到在selenium-server上记录了获取截屏的命令,但屏幕截图不是正在保存。

I have the stand-alone selenium server started and I can see the command for taking screenshot is logged on the selenium-server, but the screenshot is not being saved.

我的代码如下:

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");


推荐答案

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

Take screenshot returns a promise that will resolve with a Base64 encoded png. To write the data, you'll need to do something like the following:

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');
});

可以找到更多文档这里

这篇关于用于在Node上使用Selenium的WebDriverJs截取屏幕截图的正确语法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆