如果在初始页面上没有加载角度,如何选择,请使用量角器的元素资源管理器单击元素

时间:2014-01-19 20:13:43

标签: angularjs element protractor

我似乎无法选择元素并使用量角器的元素资源管理器单击它们。

e.g。

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'

这里真正的问题似乎是在初始启动时没有加载角度,我怎样才能开始在按钮和东西周围进行搜索,以通过require.js进入角度发挥作用的页面?

3 个答案:

答案 0 :(得分:21)

如果您正在运行Chrome,请尝试关闭DevTools(如果已打开它们)。

出于某种原因,只有在开发人员工具处于打开状态时访问页面上存在的元素时才会看到相同的错误。

答案 1 :(得分:1)

元素资源管理器是一个工具,可以帮助您在编写测试时测试量角器选择器。

Julie几天前做了一个演讲,她给出了一个快速演示。观看此视频:

http://www.youtube.com/watch?v=aQipuiTcn3U#t=815

答案 2 :(得分:0)

尝试使用量角器的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();

});