google.com不是Angular应用,但是Protractor仍然可以测试它,对吗?我一直在尝试对搜索进行简单的测试,但仍然遇到错误。
规范:
browser.ignoreSynchronization = true;
describe('Google Demo', function() {
it('Should Search', function() {
browser.get('http://google.com/');
browser.wait(element(By.id('q')).isPresent);
element(By.id('q')).sendKeys('please work');
});
});
错误是:
Failures:
1) Google Demo Should Search
Message: TypeError: Cannot read property 'count' of undefined
我做错了什么?我很感激任何帮助!
答案 0 :(得分:14)
由于它是非Angular应用,因此您需要使用browser.driver
而非browser
。 GitHub Link for non-angular app
browser.ignoreSynchronization = true;
describe('Google Demo', function() {
it('Should Search', function() {
browser.driver.get('http://google.com/');
browser.driver.findElement(by.name('q')).sendKeys('please work');
});
});
这正在我的系统上运行!
答案 1 :(得分:0)
这也适用于非角度应用
browser.waitForAngularEnabled(false);
describe('Google search', function() {
it('should search a text as GURU99', function() {
browser.waitForAngularEnabled(false);
browser.get('https://www.google.com');
element(by.name("q")).sendKeys('test')
browser.sleep(5000);
});
});