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