我正在使用Protractor,我正在尝试自动化将文件从我的应用程序下载到本地系统的过程。 Chrome已配置为无需任何提示对话框即可下载文件。下载按钮的操作只需点击一下: 。的元件(by.css( “#myDownloadLink”))上单击(); 这按预期工作。然而,量角器在此操作后添加了不必要的延迟。下载需要一秒钟,下载请求将在1-2秒内解决。但是,在进入下一行之前,Protractor会在这行代码上停留大约一分钟 - 我猜这是不必要的同步或其他事情。
是否有人对如何解决或至少解决此问题有任何想法?喜欢可能以不同的方式触发下载(但仍然通过UI?)并避免Protractor同步/挂起
谢谢
答案 0 :(得分:0)
我尝试使用ignoreSynchronization
标志:
browser.ignoreSynchronization = true
// trigger download
browser.ignoreSynchronization = false
答案 1 :(得分:0)
我尝试了但是没有用。一旦你重新开启ignoreSynchronization,它就会持续等待。这是解决方案:
你必须强迫角度立即做事: var fixSyncScript ='var el = document.querySelector(“body”); angular.element致发光(EL).injector()获得( “$浏览器”)$$ completeOutstandingRequest(angular.noop)。返回true;'; browser.executeScript(fixSyncScript).then(function(result){ 期待(结果).toBe(真); });