Javascript 可以用量角器测试淘汰赛应用程序吗?
我正在制作一个使用敲除的网页。我在看到后设置了量角器,但量角器似乎不能“看到”属于KO组件的任何元素Javascript 可以用量角器测试淘汰赛应用程序吗?,javascript,knockout.js,protractor,e2e-testing,Javascript,Knockout.js,Protractor,E2e Testing,我正在制作一个使用敲除的网页。我在看到后设置了量角器,但量角器似乎不能“看到”属于KO组件的任何元素 describe('a simple test', function () { it('works', function () { browser.ignoreSynchronization = true; browser.get('profile'); expect(browser.getTitle()).toEqual('Title'); // this pa
describe('a simple test', function () {
it('works', function () {
browser.ignoreSynchronization = true;
browser.get('profile');
expect(browser.getTitle()).toEqual('Title'); // this passes (outside KO)
expect(element(by.id('ko-component')).getText()).toEqual('Hello World!'); // this fails (inside KO)
});
});
第二个断言导致此错误,即使元素肯定在HTML中
Message:
NoSuchElementError: No element found using locator: By.id("ko-component")
如果我不能使用量角器,那么欢迎对其他e2e测试框架提出建议。
量角器
基本上是JS
的包装器(javascript selenium绑定)<代码>量角器使测试AngularJS页面更容易、更自然,知道何时设置了角度,页面准备好与之交互,并引入了几个特定于角度的定位器
换言之,您完全可以使用量角器测试剔除
页面。在这种情况下,您需要使用presenceOf
,直到ko组件
元素出现:
var EC = protractor.ExpectedConditions;
var e = element(by.id('ko-component'));
browser.wait(EC.presenceOf(e), 10000);
expect(e.getText()).toEqual('Hello World!');