use*_*673 12 javascript selenium node.js webpage-screenshot selenium-webdriver
使用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");
Run Code Online (Sandbox Code Playgroud)
Rya*_*yan 22
截屏返回一个将使用Base64编码的png解析的promise.要编写数据,您需要执行以下操作:
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');
});
Run Code Online (Sandbox Code Playgroud)
可在此处找到更多文档