为什么我在编写量角器测试时必须使用browser.sleep
Why must I use browser.sleep while writing protractor tests
我第一次参加E2E测试。 我正在尝试消化别人的量角器测试。
问题:有很多browser.driver.sleep
,这似乎很脆弱。
目标:不使用browser.driver.sleep
问题:什么是更好的browser.driver.sleep
方法? 一些不那么脆弱的东西,比如承诺或我不知道的东西,哈哈?
var config = require('../../protractor.conf.js').config;
describe('this Homepage Body Tests', function(){
browser.driver.get(config.homepageUrl);
it("should open find a clinic page", function(){
// page loads :: want to fix this random wait interval
browser.driver.sleep(2000);
browser.ignoreSynchronization = true;
var string = 'clinic';
var main = '.search-large-text';
var link = element(by.cssContainingText('.submenu li a', string));
link.click().then(function() {
// page reloads :: want to fix this random wait interval
browser.driver.sleep(3000);
var title = element(by.cssContainingText(main, string));
expect(title.getText()).toBe(string);
});
});
});
由于打开了
ignoreSynchronization
,因此不能使用 waitForAngular()
,这将是角度站点测试情况下的解决方案。
更好的解决方案是设置页面加载超时:
browser.manage().timeouts().pageLoadTimeout(10000); // 10 seconds
另请参阅有关显式等待和超时的相关线程:
- 使用量角器在非AngularJS页面上测试登录(Leo的答案非常详细)
- 量角器:单击按钮后如何等待页面完成?
- 超时
相关文章:
- 如何在量角器测试中使用browser.getCurrentUrl()
- onsubmit() form on mobile browser
- reactjs中为什么需要browser.min.js
- 什么是browser.ignore量角器中的同步
- jQuery alerts在jQuery 1.11.2上不起作用;类型错误:n.browser未定义;
- 使用Realm React Native查找Realm文件的路径,以便与Realm Browser一起使用
- 打包具有依赖关系的Browser/Server CommonJS模块
- Browser/jQuery代理错误
- 现在 $.browser 已被弃用,我如何使用 jQuery 检测 IE 8
- Firefox WebExtension - issue with browser.i18n.getMessage
- Mock window.document object for out-of-browser jQuery
- 是否可以在javascript中实现sleep()
- $browser.notifyWhenNoOutoutstanding Requests不考虑控制器功能
- 在IE和Cross Browser中为书签注入CSS文件
- 如何在量角器中使用browser.sleep来解释
- 将数据从 Javascript/Browser 域移动到 Windows 域
- browser.switchTo().alert() 在量角器中不起作用
- File Uploads & Chrome (BROWSER) 内存不足
- 为什么我在编写量角器测试时必须使用browser.sleep
- 量角器在不使用browser.sleep的情况下编写更干净的测试用例