Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 量角器“;Can';t读取属性';单击';“未定义”的定义;_Angularjs_Node.js_Selenium Webdriver_Jasmine_Protractor - Fatal编程技术网

Angularjs 量角器“;Can';t读取属性';单击';“未定义”的定义;

Angularjs 量角器“;Can';t读取属性';单击';“未定义”的定义;,angularjs,node.js,selenium-webdriver,jasmine,protractor,Angularjs,Node.js,Selenium Webdriver,Jasmine,Protractor,我不能点击一些css定位器来操纵他身上的“数学地板”。 请帮忙 此测试的CSS部分: <input ng-attr-id="industry_{{$index}}" ng-attr-value="{{$index}}" ng-model="stateData.currentIndustryIndex" type="radio" class="ng-pristine ng-valid" name="00K" id="industry_0" value="0"> 量角器配置文件 var

我不能点击一些css定位器来操纵他身上的“数学地板”。 请帮忙

此测试的CSS部分:

<input ng-attr-id="industry_{{$index}}" ng-attr-value="{{$index}}" ng-model="stateData.currentIndustryIndex" type="radio" class="ng-pristine ng-valid" name="00K" id="industry_0" value="0">
量角器配置文件

var path = require('path');
//var reporters = require('jasmine-reporters'); 
var HtmlReporter = require('protractor-html-screenshot-reporter');
var fs = require("fs");

exports.config = {

  chromeDriver: 'node_modules/protractor/selenium/chromedriver',
  chromeOnly: false,
  seleniumAddress: 'http://localhost:4444/wd/hub',

  specs: ['demo.js'],

  //specs: ['./Scripts/*.js'],

  capabilities: {
    browserName: 'chrome',
       'chromeOptions': {
        args: ['--test-type','--memory-metrics','--console','--crash-on-failure','--load-extension=' + 'C:\\Users\\idan\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\idgpnmonknjnojddfkpgkljpfnnfcklj\\1.2.4_0']  

        }
  },

  rootElement: '.main',

  framework: "jasmine",

  allScriptsTimeout: 10000,

  getPageTimeout: 10000,

  onPrepare: function() {
        browser.driver.manage().window().maximize();
        return browser.driver.get('http://www.vcita.com');
        jasmine.getEnv().addReporter(new HtmlReporter({
         baseDirectory: 'C:\\Users\\idan\\AppData\\Roaming\\npm\\node_modules\\protractor\\example',
         docTitle: 'my reporter',
         docName:  'protractor-demo-tests-report.html'
        }));

    // var jasmineReporters = require('jasmine-reporters');
    // jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
    //     consolidateAll: true,
    //     filePrefix: 'xmloutput',
    //     savePath: 'C:\\Users\\idan\\AppData\\Roaming\\npm\\node_modules\\protractor\\example\\screenshots'
    // }));
  },

  jasmineNodeOpts: {
      onComplete: null,
      // If true, display spec names.
      isVerbose: true,
      // If true, print colors to the terminal.
      showColors: true,
      // If true, include stack traces in failures.
      includeStackTrace: true,
      // Default time to wait in ms before a test fails.
      defaultTimeoutInterval: 660000
    }

}
Package.json

{
  "name": "protractor",
  "description": "Webdriver E2E test wrapper for Angular.",
  "homepage": "https://github.com/angular/protractor",
  "keywords": [
    "angular",
    "test",
    "testing",
    "webdriver",
    "webdriverjs",
    "selenium"
  ],
  "author": {
    "name": "Julie Ralph",
    "email": "ju.ralph@gmail.com"
  },
  "dependencies": {
    "request": "~2.36.0",
    "selenium-webdriver": "2.45.1",
    "minijasminenode": "1.1.1",
    "jasminewd": "1.1.0",
    "jasminewd2": "0.0.3",
    "jasmine": "2.1.1",
    "saucelabs": "~0.1.0",
    "glob": "~3.2",
    "adm-zip": "0.4.4",
    "optimist": "~0.6.0",
    "q": "1.0.0",
    "lodash": "~2.4.1",
    "source-map-support": "~0.2.6",
    "html-entities": "~1.1.1",
    "accessibility-developer-tools": "~2.6.0"
  },
  "devDependencies": {
    "expect.js": "~0.2.0",
    "chai": "~1.8.1",
    "chai-as-promised": "~4.1.0",
    "jshint": "2.5.0",
    "mocha": "1.21.4",
    "cucumber": "~0.3.3",
    "express": "~3.3.4",
    "lodash": "~2.4.1",
    "rimraf": "~2.2.6"
  },
  "repository": {
    "type": "git",
    "url": "git://github.com/angular/protractor.git"
  },
  "bin": {
    "protractor": "bin/protractor",
    "webdriver-manager": "bin/webdriver-manager"
  },
  "main": "lib/protractor.js",
  "scripts": {
    "pretest": "jshint lib spec scripts",
    "test": "node scripts/test.js",
    "start": "node testapp/scripts/web-server.js"
  },
  "license": "MIT",
  "version": "2.0.0",
  "gitHead": "1d8f14eb7e3fd7c8607ef1ffa2d6c0b29cc802b1",
  "bugs": {
    "url": "https://github.com/angular/protractor/issues"
  },
  "_id": "protractor@2.0.0",
  "_shasum": "2f96219bb4517006eaadd5757a06608630464ebc",
  "_from": "protractor@*",
  "_npmVersion": "1.4.28",
  "_npmUser": {
    "name": "angularcore",
    "email": "angular-core+npm@google.com"
  },
  "maintainers": [
    {
      "name": "juliemr",
      "email": "ju.ralph@gmail.com"
    },
    {
      "name": "angularcore",
      "email": "angular-core+npm@google.com"
    }
  ],
  "dist": {
    "shasum": "2f96219bb4517006eaadd5757a06608630464ebc",
    "tarball": "http://registry.npmjs.org/protractor/-/protractor-2.0.0.tgz"
  },
  "directories": {},
  "_resolved": "https://registry.npmjs.org/protractor/-/protractor-2.0.0.tgz",
  "readme": "ERROR: No README data found!"
}
**Node.JS中的异常**

Failures:

  1) Login onboarding - screen 2
   Message:
     TypeError: Cannot read property 'click' of undefined
   Stacktrace:
     TypeError: Cannot read property 'click' of undefined
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul
es\protractor\example\demo.js:49:100)
    at C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\ja
sminewd\index.js:94:14
    at [object Object].promise.ControlFlow.runInFrame_ (C:\Users\idan\AppData\Ro
aming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\
promise.js:1877:20)
    at [object Object].promise.ControlFlow.runEventLoop_ (C:\Users\idan\AppData\
Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdrive
r\promise.js:1755:8)
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul
es\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:2056:12)
    at goog.async.run.processWorkQueue (C:\Users\idan\AppData\Roaming\npm\node_m
odules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:125:21)
From: Task: Asynchronous test function: it()
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul
es\protractor\node_modules\jasminewd\index.js:93:33)
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul
es\protractor\node_modules\minijasminenode\lib\async-callback.js:45:37)
    at [object Object].jasmine.Block.execute (C:\Users\idan\AppData\Roaming\npm\
node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:1174:1
7)
    at [object Object].jasmine.Queue.next_ (C:\Users\idan\AppData\Roaming\npm\no
de_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2209:31)

    at onComplete (C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\nod
e_modules\minijasminenode\lib\jasmine-1.3.1.js:2205:18)
    at [object Object].jasmine.WaitsForBlock.execute (C:\Users\idan\AppData\Roam
ing\npm\node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.j
s:2704:5)
    at [object Object]._onTimeout (C:\Users\idan\AppData\Roaming\npm\node_module
s\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2718:12)
Error
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul
es\protractor\example\demo.js:47:2)
    at [object Object].jasmine.Env.describe_ (C:\Users\idan\AppData\Roaming\npm\
node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:913:21
)
    at [object Object].jasmine.Env.describe (C:\Users\idan\AppData\Roaming\npm\n
ode_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:898:15)

    at describe (C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_
modules\minijasminenode\lib\jasmine-1.3.1.js:658:27)
    at Object.<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modules\protra
ctor\example\demo.js:3:1)

Finished in 17.105 seconds
3 tests, 3 assertions, 1 failure

[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 1 test(s)
[launcher] overall: 1 failed spec(s)
[launcher] Process exited with error code 1
故障:
1) 登录入职-屏幕2
信息:
TypeError:无法读取未定义的属性“click”
堆栈跟踪:
TypeError:无法读取未定义的属性“click”
在[对象]。(C:\Users\idan\AppData\Roaming\npm\node\u模块
es\dragrator\example\demo.js:49:100)
位于C:\Users\idan\AppData\Roaming\npm\node\u modules\dragrator\node\u modules\ja
sminewd\index.js:94:14
位于[object object].promise.ControlFlow.runInFrame\uC:\Users\idan\AppData\Ro
aming\npm\node\u modules\dragrator\node\u modules\selenium webdriver\lib\webdriver\
允诺.js:1877:20)
位于[object object].promise.ControlFlow.runEventLoop\uC:\Users\idan\AppData\
漫游\npm\node\u模块\dragor\node\u模块\selenium webdriver\lib\webdrive
r\promise.js:1755:8)
在[对象]。(C:\Users\idan\AppData\Roaming\npm\node\u模块
es\dragrator\node\u modules\selenium webdriver\lib\webdriver\promise.js:2056:12)
在goog.async.run.processWorkQueue(C:\Users\idan\AppData\Roaming\npm\node\m
odules\dragrator\node\u modules\selenium webdriver\lib\goog\async\run.js:125:21)
From:Task:Asynchronous test function:it()
在[对象]。(C:\Users\idan\AppData\Roaming\npm\node\u模块
es\dragrator\node\u modules\jasminewd\index.js:93:33)
在[对象]。(C:\Users\idan\AppData\Roaming\npm\node\u模块
es\dragrator\node\u modules\minijasminenode\lib\async callback.js:45:37)
在[object object].jasmine.Block.execute(C:\Users\idan\AppData\Roaming\npm\
node\u modules\dragrator\node\u modules\minijasminenode\lib\jasmine-1.3.1.js:1174:1
7)
在[object object].jasmine.Queue.next(C:\Users\idan\AppData\Roaming\npm\no
deu modules\dragrator\node\u modules\minijasminenode\lib\jasmine-1.3.1.js:2209:31)
完成时(C:\Users\idan\AppData\Roaming\npm\node\u modules\dragrator\nod)
e_modules\minijasminenode\lib\jasmine-1.3.1.js:2205:18)
在[object object].jasmine.WaitsForBlock.execute(C:\Users\idan\AppData\Roam
ing\npm\node\u modules\dragrator\node\u modules\minijasminenode\lib\jasmine-1.3.1.j
s:2704:5)
在[object object]。\u onTimeout(C:\Users\idan\AppData\Roaming\npm\node\u模块
s\dragrator\node\u modules\minijasminenode\lib\jasmine-1.3.1.js:2718:12)
错误
在[对象]。(C:\Users\idan\AppData\Roaming\npm\node\u模块
es\dragrator\example\demo.js:47:2)
在[object object].jasmine.Env.description(C:\Users\idan\AppData\Roaming\npm\
node\u modules\dragrator\node\u modules\minijasminenode\lib\jasmine-1.3.1.js:913:21
)
在[object object].jasmine.Env.description(C:\Users\idan\AppData\Roaming\npm\n
ode_modules\dragrator\node_modules\minijasminenode\lib\jasmine-1.3.1.js:898:15)
在描述(C:\Users\idan\AppData\Roaming\npm\node\u modules\dragrator\node_
modules\minijasminenode\lib\jasmine-1.3.1.js:658:27)
反对。(C:\Users\idan\AppData\Roaming\npm\node\u modules\protra
ctor\example\demo.js:3:1)
以17.105秒完成
3次测试,3次断言,1次失败
[launcher]0个WebDriver实例仍在运行
[launcher]chrome#1测试失败1次
[启动器]总体:1个失败的规范
[launcher]进程已退出,错误代码为1

您输入的radio类型似乎缺少行业级

当它被添加时,测试应该可以工作,下面是一个在jsfiddle中测试的代码,它使用Jasmine和jqLite选择器,但是您得到了图片

describe('Test with industry class',function(){
    beforeEach(module('testApp'));

    var element, scope;

    beforeEach(inject(function($rootScope, $compile) {
        element = angular.element('<div><input ng-attr-id="industry_{{$index}}" ng-attr-value="{{$index}}" ng-model="stateData.currentIndustryIndex" type="radio" class="industry ng-pristine ng-valid" name="00K" id="industry_0" value="0"></div>');
        scope = $rootScope;
        $compile(element)(scope);
        scope.$digest();
    }));

    it("should contain a input of type radio element with a class of industry", function() {
        expect(element.find('.industry').length).toEqual(1);
    });

});
description('使用行业类进行测试',函数(){
每个之前(模块(“测试程序”);
var元素、范围;
beforeach(注入(函数($rootScope,$compile){
元素=角度。元素(“”);
scope=$rootScope;
$compile(元素)(范围);
范围。$digest();
}));
它(“应包含具有一类工业的无线电元素类型的输入”,function(){
expect(element.find(“.industry”).length.toEqual(1);
});
});

那行吗=>element.all(by.css('.industry-input[type=“radio”]).get(Math.floor(Math.random()*11))。单击();谢谢但是关于“元素不可见”有一个新的异常:/使用检查“元素”是否为空。
describe('Test with industry class',function(){
    beforeEach(module('testApp'));

    var element, scope;

    beforeEach(inject(function($rootScope, $compile) {
        element = angular.element('<div><input ng-attr-id="industry_{{$index}}" ng-attr-value="{{$index}}" ng-model="stateData.currentIndustryIndex" type="radio" class="industry ng-pristine ng-valid" name="00K" id="industry_0" value="0"></div>');
        scope = $rootScope;
        $compile(element)(scope);
        scope.$digest();
    }));

    it("should contain a input of type radio element with a class of industry", function() {
        expect(element.find('.industry').length).toEqual(1);
    });

});