使用量角器访问$ scope对象

时间:2015-07-01 07:33:58

标签: angularjs protractor qa

我有一个像这样的对象:

$scope.project = {name: 'whatever', description: 'blabla', another: 'another'};

要调试这个,我进入repl模式并尝试查看" project"具有。 当我定义项目变量如下,并调用它,它返回我的对象​​,但当我尝试访问其键(project.name)时,我得到undefined。如果我做Object.keys(项目)我得到的页面对象方法,如click,getAttribute等。

关于如何访问原始对象键的任何想法?

查看方:

<h1 id="foo">{{project.name}}</h1>

测试方:

var project = element(by.id('foo')).evaluate('project');

1 个答案:

答案 0 :(得分:13)

evaluate在幕后使用executeScript。它返回一个ElementFinder,它会解析为您要查找的对象:

var project;
element(by.id('foo')).evaluate('project').then(function(value) {
    project = value;
});

documentation说:

  

解析为每个底层的计算表达式   元件。结果将按原样解决   webdriver.WebDriver.executeScript。总之 - 原语将是   按原样解析,函数将转换为字符串和元素   将作为WebElement返回。

另外,请查看Accessing Angular inside Protractor Test

编辑:语法错误