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]'));