【问题标题】:Protractor can not find any elements yet elements render in browser量角器找不到任何元素,但元素在浏览器中呈现
【发布时间】: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 &amp;&amp; vm.hasOpened &amp;&amp; !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 &amp;&amp; vm.mode === 'month' }">MM</span>/
<span class="td-datepicker-value-day ng-binding" ng-class="{ active: vm.open &amp;&amp; vm.mode === 'day' }">DD</span>/
<span class="td-datepicker-value-year ng-binding" ng-class="{ active: vm.open &amp;&amp; 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


【解决方案1】:

在说服开发人员这是一个编码问题......而不是浏览器问题后,这个问题得到了解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多