我似乎无法选择元素,然后使用protractor的元素资源管理器单击它们。
,例如
it('should do ', function(){
browser.get('localhost:3000/myapp');
browser.getCurrentUrl().then(val){
console.log(val);
}
var profileIcon = element(by.css('profile-icon'));
profileIcon.click(); // scenario 1
profileIcon.isPresent(); // scenario 2
})
它总是会像
一样返回。There was a webdriver error: UnknownError unknown error: Runtime.evaluate threw
exception: TypeError: Cannot call method 'click' of null
(Session info: chrome=32.0.1700.76)
(Driver info: chromedriver=2.8.241075,platform=Windows NT 6.2 x86_64) (WARNING
: The server did not provide any stacktrace information)
Command duration or timeout: 9 milliseconds
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'Kwik-Desktop', ip: '108.209.248.41', os.name: 'Windows 8', o
s.arch: 'amd64', os.version: '6.2', java.version: '1.7.0_45'
这里真正的问题似乎是Angular没有在Inital启动上加载,我该如何开始戳在按钮和内容周围,以获取通过require.js with.js?
<</p>如果您正在运行Chrome,请尝试关闭DevTools,如果您打开它们。
由于某种原因,仅当开发人员工具打开时,访问页面上存在的元素时,我一直在看到相同的错误。
元素资源管理器是一种工具,可以帮助您在编写测试时测试量角选择器。
朱莉(Julie)几天前作了演讲,她进行了快速演示。检查此视频:
http://www.youtube.com/watch?v=AQIPUITCN3U#T=815
尝试使用protractor的API。
var ptor = protractor.instance();
it('should do ', function(){
ptor.get('#/myapp');
ptor.waitForAngular();
var profileIcon = protractor.By.css('.profile-icon');
ptor.findElement(profileIcon).click();
});