繁体   English   中英

Node.js selenium webdriver - 在测试中获取浏览器功能?

[英]Node.js selenium webdriver - Get browser capabilities inside test?

我在node.js上使用selenium webdriver(目前通过webdriverio,但我不介意切换到webdriverjs或wd)。

我在不同的浏览器上运行一些测试,并希望保存每个测试的结果以及有关浏览器的信息,例如:

  • 测试1 - chrome - 199断言,0次失败,0次跳过
  • 测试1 - IE9 - 199断言,0次失败,0次跳过
  • 等等..

如何从测试中获取“desiredCapabilities”对象?

或者我如何将其传递给测试以便它可用?

编辑

我发现browser.desiredCapabilities返回所请求的功能对象,但现在我意识到我实际上需要使用“实际功能”(例如,如果我在只有IE11的机器上要求IE8我得到IE11但是desiredCapabilities对象显示版本= 8)。

我正在寻找一种方法来获得实际使用的浏览器功能,如selenium wiki中所述

如果会话不支持所需功能中请求的功能,则不会引发错误; 返回只读功能对象,指示会话实际支持的功能。

使用WebDriverJS (您提到可以切换到),您可以使用getCapabilities

browser.getCapabilities().then(function (caps) {
    console.log(caps);
});

上面的代码只会转储功能,但您应该使用Capabilities的方法来检查值。 例如:

browser.getCapabilities().then(function (caps) {
    console.log(caps.get("browserName"), caps.get("version"));
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM