paz*_*paz 20 javascript node.js selenium-webdriver
我开始为网站应用程序开发测试,但我遇到了一些问题.
我正在使用Node.js,webdriver,chromedriver和selenium rc.
问题是:1.如何制作屏幕截图并将其保存在与脚本相同的文件夹中.2.有没有办法保存测试用例的测试日志?例如,如果检查页面上的元素但找不到它,我该如何输出?
ayc*_*dee 40
为了保存测试日志,通常使用测试运行器.当您检查某个元素是否在页面上并且找不到它时,则会引发异常(通常是断言错误),并且测试运行器将记录此信息并将其标记为失败的测试.在文档中,他们建议您使用Mocha.
至于将屏幕截图保存到磁盘,api看起来像这样
driver.takeScreenshot().then(
function(image, err) {
require('fs').writeFile('out.png', image, 'base64', function(err) {
console.log(err);
});
}
);
Run Code Online (Sandbox Code Playgroud)
Mat*_*att 11
将aychedee的答案改编为一个完整的承诺,该承诺将在写入文件后解决并在写入失败时拒绝:
const util = require('util')
const fsp = require('fs').promises
function takeScreenshot(driver, file){
return driver.takeScreenshot()
.then(image => fsp.writeFile(file, image, 'base64'))
}
Run Code Online (Sandbox Code Playgroud)
或者在一个async
函数中
async function takeScreenshot(driver, file){
let image = await driver.takeScreenshot()
await fsp.writeFile(file, image, 'base64')
}
Run Code Online (Sandbox Code Playgroud)
仅供记录,这是您使用WebdriverJS截取屏幕截图的方式:
var webdriverjs = require('webdriverjs'),
client = webdriverjs.remote({
desiredCapabilities: {
browserName: 'chrome'
}
});
client
.init()
.url('http://google.com')
.saveScreenshot(__dirname + '/googleScreenshot.png')
.end();
Run Code Online (Sandbox Code Playgroud)
您还可以使用WebdriverCSS截取屏幕截图.它是WebdriverJS进行CSS回归测试的插件.它与PhantomCSS几乎相同.
归档时间: |
|
查看次数: |
19203 次 |
最近记录: |