【发布时间】:2015-07-08 21:41:28
【问题描述】:
有没有人遇到过您的量角器脚本找不到任何元素(计数 == 0)但元素正在浏览器中呈现的情况?我正在测试我们网站的一个部分,该部分最近发生了变化,现在测试失败了。当我使用“elementor”或其他调试工具时,它说没有为页面上的所有元素找到任何元素。然而页面正在正确呈现。
当我使用 elementor 检查时,我看到:
[by.css('section[ng-controller="app.DatepickerController as vm"]'): “0”
0 是计数。
还有:
[by.css('section.panel-body'): "12"
其中12 是同一元素的计数。
以下是 HTML 示例。它应该显示一个“日期选择器”。
<section class="panel-body ng-scope" ng-controller="app.DatepickerController as vm">
<div class="row">
<div class="col-md-4">
<h3>Datepicker</h3>
<div td-datepicker="" show-ignore-year="vm.showIgnoreYear" show-all-before="vm.showAllBefore" all-before="vm.allBefore" show-all-after="vm.showAllAfter" all-after="vm.allAfter" ignore-year="vm.ignoreYear" date="vm.date" disabled="vm.dateIsDisabled" class="ng-isolate-scope">
<div class="td-datepicker" ng-class="{ open: vm.open, invalid: !vm.isValid && vm.hasOpened && !vm.open }">
<div class="input-group"><div class="td-datepicker-value" ng-click="vm.toggle()" ng-disabled="vm. disabled" ng-class="vm.disabled ? 'disabled' : ''">
<span class="td-datepicker-value-month ng-binding" ng-class="{ active: vm.open && vm.mode === 'month' }">MM</span>/
<span class="td-datepicker-value-day ng-binding" ng-class="{ active: vm.open && vm.mode === 'day' }">DD</span>/
<span class="td-datepicker-value-year ng-binding" ng-class="{ active: vm.open && vm.mode === 'year' }">YYYY</span>
</div>
<div ng-class="{ 'active': vm.open, 'disabled': vm.disabled}" class="input-group-addon" ng-click="vm.toggle()" ng-disabled="vm .disabled"><i class="md md-today"></i>
</div>
<div ng-show="vm.open" class="td-datepicker-popover ng-hide">
月
天
年
------控制器 (函数 () {
'use strict';
angular
.module('app')
.controller('app.DatepickerController', appDatepickerController);
function appDatepickerController() {
/*jshint validthis:true */
var vm = this;
// Disable functionality from controller
// Using Date Picker as example
vm.dateIsDisabled = true;
// Date picker
vm.date = undefined;
vm.showIgnoreYear = true;
vm.showAllBefore = false;
vm.allBefore = false;
vm.showAllAfter = true;
vm.allAfter = true;
vm.showIgnoreYear = false;
vm.ignoreYear = false;
// Year picker
vm.year = undefined;
// Month picker
vm.myear = undefined;
vm.mmonth = undefined;
// Quarter picker
vm.qyear = undefined;
vm.qquarter = undefined;
// Week picker
vm.wyear = undefined;
vm.wweek = undefined;
}
})();
【问题讨论】:
-
能贴出对应的block的html代码吗?
-
好的,我现在就编辑我的帖子
-
也为这段代码添加对应的控制器...
-
在说服开发人员这是一个编码问题......而不是浏览器问题后,这个问题得到了解决。谢谢
标签: javascript angularjs testing jasmine protractor