Art*_*yev 5 javascript selenium jasmine angularjs protractor
对于基于AngularJS的项目,我们有编号或量角器/茉莉花规格。可以这样做吗?
afterAll(function(){
browser.restart();
}
Run Code Online (Sandbox Code Playgroud)
清理规格之间的东西?
有一个内置设置 - restartBrowserBetweenTests:
// If true, protractor will restart the browser between each test.
// CAUTION: This will cause your tests to slow down drastically.
restartBrowserBetweenTests: false,
Run Code Online (Sandbox Code Playgroud)
正如评论中所说 - 这会导致测试速度减慢 - 确保有真正的理由在测试之间重新启动浏览器。请注意,该设置意味着重新启动浏览器it(),而不是describe()。
请注意,在内部restart()分叉现有驱动程序实例,退出当前驱动程序并重新初始化所有全局变量 - browser、element等$。
在测试之间可能有不同的需要重新启动浏览器/驱动程序 - 例如,以前创建的 cookie 将完全丢失/删除。例如,这可能允许在每次测试后不显式注销以节省时间(不确定这总体上是否良好)。
因此,作为快捷方式(直到我找不到承诺的真正问题),我想在每个规范之后重新启动浏览器。我知道这通常是一种错误的方法,但想将其用作临时解决方案。
作为您的情况的临时解决方案,为了强制执行测试隔离,我认为在每个测试套件之后重新启动浏览器是可以的。但是,请确保您不通过全局可用browser对象共享任何变量 - 在每次测试中,您都会获得一个全新的browser.
顺便说一句,您也可以尝试强制浏览器的私人/隐身模式:
multiCapabilities: [
{
browserName: "chrome",
chromeOptions: {
args: ["incognito", "disable-extensions"]
},
}
],
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1488 次 |
| 最近记录: |