我正在使用量角器使用 Jasmin 在Angular中编写e2e测试用例。
我正在使用 Saucelab 在 Chrome,Firefox,Edge和IE11 上执行测试用例。
我遇到了一个问题,即在IE11的情况下,使用 mouseMove 进行的 hover 功能不起作用,因此我想跳过 IE11 的情况,但必须对其余3个浏览器执行thost测试。
我的protractor.config.js文件如下 ... ...
multiCapabilities: ([
{
name: "ds-e2e-firefox",
browserName: "firefox",
version: "63"
},
{
name: "ds-e2e-chrome",
browserName: "googlechrome",
version: "70"
},
{
name: "ds-e2e-edge",
browserName: "MicrosoftEdge",
version: "16",
avoidProxy: true
},
{
name: "ds-e2e-ie11",
browserName: "internet explorer",
version: "11",
iedriverVersion: "3.12.0"
}
]).map(cap => Object.assign(cap, {
platform: "Windows 10",
seleniumVersion: SELENIUM_VERSION,
screenResolution: "1920x1080"
}))
};
...
我对其他解决方法持开放态度,因为我无法思考如何实现这一目标。
答案 0 :(得分:0)
multicapabilities是采用一系列功能的集合,因此您可以尝试使用保留为忽略规格文件的exclude关键字。
{
name: "ds-e2e-ie11",
browserName: "internet explorer",
version: "11",
iedriverVersion: "3.12.0",
exclude: [specfile.js, specfile2.js]
}
答案 1 :(得分:0)
这种方式之一
it("Search by name", async () => {
// open home page
await browser.get(params.baseUrl);
let capabilities = await browser.getCapabilities();
let browserName = capabilities.map_.get('browserName');
if (browserName === "chrome") {
// your test goes here
}
});