Angularjs 当angular在初始页面上未加载时,如何选择,使用量角器单击元素';s元素浏览器

Angularjs 当angular在初始页面上未加载时,如何选择,使用量角器单击元素';s元素浏览器,angularjs,element,protractor,Angularjs,Element,Protractor,我似乎无法选择元素并用量角器的元素资源管理器单击它们 e、 g 它总是会返回类似的结果 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.

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

e、 g

它总是会返回类似的结果

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没有在初始启动时加载,我如何开始拨动按钮和其他东西,通过require.js进入angular发挥作用的页面?

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

});

元素浏览器是一种工具,它可以帮助您在编写测试时测试量角器选择器

朱莉几天前做了一个演示,她做了一个快速演示。查看此视频:


如果您正在运行Chrome,请尝试关闭打开的DevTools


出于某种原因,我在访问页面上存在的元素时看到了相同的错误,这些元素只有在开发人员工具打开时才存在

据我所知,profileIcon是空的。我猜你的个人资料图标不是一个元素,而是一个css类。所以它应该是通过.css(“.profile icon”);那么by.css和element是如何实现的呢(by.css不同,我只是想知道是否有不同的选择器或实际用法。我不认为这有什么不同,而且我使用的是浏览器b/c angular没有加载到初始页面。好的,发现了问题,看起来angular没有加载到这个特定页面上,哇,为了量角器工作,肯定需要它,顺便说一句,你的解决方案不应该是这样的。)这是您的问题。因为chrome devtool在量角器操作时自动关闭。在最近的更新之后,我的devtool不会自动关闭。我正在运行chrome 32.0.1700.77,这里也注意到了同样的问题。
Selenium::WebDriver::Error::unknown错误:未知错误:Runtime.evaluate抛出异常:TypeError:无法调用null的方法“click”
var ptor = protractor.instance();

it('should do ', function(){
    ptor.get('#/myapp');
    ptor.waitForAngular();

    var profileIcon = protractor.By.css('.profile-icon');

    ptor.findElement(profileIcon).click();

});