2
我正在使用量角器測試AngularJS應用程序。但是我在測試用ng-include插入的代碼時遇到了一些問題。AngularJS e2e使用量角器測試:不能測試插入ng-include的元素
當我嘗試找到插入了ng-include的元素時,出現錯誤「Error:No element found using locator:By.id」。
如果我在調試模式下運行量角器並在ng-include完成後檢查頁面,我在html中找到這個「< --ng-include - >」而不是它應該在那裏的元素。
我使用Karma做測試,但不能測試元素是否存在。然後我讀了一些文檔,它說量角器更適合這個,但它接縫我有同樣的問題。
app.js
$scope.setNewWindow = function() {
var elem = $compile('<div ng-controller="myCtrl" class="windows-frame" id="window' + windowID + '">' +
'<div ng-include src="\'includes/elemToInclude.html\'"></div>' +
'</div>')($scope);
$("#main").append(elem);}
test.js
it('test', function() {
browser.executeScript("var scope = angular.element(document.querySelectorAll('#main')[0]).scope();" +
"scope.setNewWindow()");
element(by.id('include_element_id')).click();
});
我使用的是browser.executeScript,因爲我無法模擬調用$ scope.setNewWindow()的點擊,它與我正在使用的插件有關。但是,我有時間,我會嘗試將此更改爲指令。坦克。 – KatT 2014-10-07 10:59:40