2016-06-09 72 views
1

我需要访问与NG-显示指令一个div无使用XPathAngularJS量角器:与NG-显示指令选择的div

<div ng-show="my_error && dirty_field"> 
    Custom error message. 
</div> 

我尝试了这些,但它不能正常工作

element(by.css('[ng-show=my_error && dirty_field]')); 

element(by.model('my_error && dirty_field')); 

我该怎么办?

+1

请尝试下面的代码。元素(by.css(“[ng-show ='my_error && dirty_field']”)); 您错过了为ng-show的值添加“'”引号 –

+0

我也试着用引号(它不起作用),但有人写了引号不应该使用.. – paolopolix

+0

您可以请张贴错误消息你得到了 –

回答

1

只是在这里添加几点。

首先,你一定要围绕ng-show值引号在这种情况下:

element(by.css('[ng-show="my_error && dirty_field"]')); 

这是因为该值包含非字母数字字符。看到这个相关话题:

另外,我不认为你应该用你的定位器dirty_field部分。这听起来像是表单验证逻辑中使用的更多技术变量。我会使用“包含”检查,而不是只检查my_error部分(注意,我是如何在这种情况下删除引号 - 值字母):

element(by.css('[ng-show*=my_error]')); 

另外请注意,您可以使用在$快捷方式,而不是element(by.css())

$('[ng-show*=my_error]'); 
0

您驾驶室处理性能这样做量角器测试。

element.all(by.css('[ui-sref="about_us"]')).first(); 
element(by.css('[ng-click="clickme()"]')), 
element(by.css('[ng-show*=show_me]'));