我正在通过一个非常简单的测试来学习Protractor:
describe(“打钩游戏”,function(){它('标记播放的位置',function(){browser.ignoreSynchronization=true;浏览器.get('文件:///C:/Users/potero/angleral/angular_TickTackToe/TickTackToe.html');var p00=元素(通过.id(“p00”));p00.点击();期望(p00.getText()).toEqual(“X”);});});
Chrome几乎毫不费力地通过了这项测试。但我也必须在IE上进行测试,所以我在量角器conf文件中添加了必要的行,结果如下:
exports.config={selenium地址:'http://localhost:4444/wd/hub',规格:['../specs/**/*.progractorspec.js'],多功能:[{“浏览器名称”:“internet explorer”}, {'browserName':'chrome'}]};
Chrome一直通过测试,但由于每个区域的保护模式设置不同,IE无法启动。我让他们平等,我继续读下去这个SO问题。然后启动了IE,但测试失败,原因是IE找不到id为p00的元素(请检查上面的规范)。通过读取控制台上的错误输出,我看到IE selenium驱动程序的属性“ignoreProtectedModeSettings”被设置为false。这引起了我的注意,所以我在IE中重置了保护模式设置,并在量角器conf文件中添加了一行,结果如下:
exports.config={selenium地址:'http://localhost:4444/wd/hub',规格:['../specs/**/*.progractorspec.js'],多功能:[{“浏览器名称”:“internet explorer”,“ignoreProtectedModeSettings”:true}, {'browserName':'chrome'}]};
IE测试通过了。每次我运行它。那么,为什么与安全设置相关的属性允许我使用Protractor选择器通过id查找元素?