我在node.js上使用selenium webdriver(目前通过webdriverio,但我不介意切换到webdriverjs或wd)。
我在不同的浏览器上运行一些测试,并希望保存每个测试的结果以及有关浏览器的信息,例如:
如何从测试中获取“desiredCapabilities”对象?
或者我如何将其传递给测试以便它可用?
修改
我发现browser.desiredCapabilities
返回请求的功能对象,但现在我意识到我实际上需要使用“实际功能”(例如,如果我在只有IE11的机器上要求IE8,我会得到IE11但是desiredCapabilities对象显示版本= 8)。
我正在寻找一种方法来获取实际使用的浏览器功能,如selenium wiki所述:
如果会话无法支持请求的功能 期望的能力,没有错误;只读功能 返回指示会话功能的对象 实际上支持。
答案 0 :(得分:3)
使用WebDriverJS(您提到可以切换到),您可以使用getCapabilities
:
browser.getCapabilities().then(function (caps) {
console.log(caps);
});
上面的代码只会转储功能,但您应该使用Capabilities
class的方法来检查值。例如:
browser.getCapabilities().then(function (caps) {
console.log(caps.get("browserName"), caps.get("version"));
});