gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 23:17:49 25 4
gpt4 key购买 nike

我在 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 中所述:

If a session cannot support a capability that is requested in the desired capabilities, no error is thrown; a read-only capabilities object is returned that indicates the capabilities the session actually supports.

最佳答案

使用 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"));
});

关于javascript - Node.js selenium webdriver - 在测试中获取浏览器功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27243661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com