如何使用angular2设置codecept e2e测试?

时间:2016-10-21 09:30:36

标签: angular codeceptjs

我是e2e测试的新手。我想试试return

自从我用http://codecept.io/angular/开始我的应用程序时,Protractor / Jasmine已经开始工作了。

据我所知,codecept正在掌握量角器。 我已正确安装它,但是当我启动一个简单的测试时,我的错误是错误的。

这是我的codecept.json:

{
  "tests": "src/app/*_test.js",
  "timeout": 10000,
  "output": "./output",
  "helpers": {
    "Protractor": {
      "url": "http://localhost:3000/",
      "driver": "hosted",
      "browser": "chrome",
      "rootElement": "body"
    }
  },
  "include": {
    "I": "./steps_file.js"
  },
  "bootstrap": false,
  "mocha": {},
  "name": "front"
}

这是我的测试:

Feature('MyApp');

Scenario('First Test', (I) => {
  I.amOnPage('/#/home');
});

这是错误日志:

MyApp --
 First Test
 • I am on page "/#/home"
 ✖ FAILED in undefinedms

 ✖ "after each" hook: finialize codeceptjs in 0ms

-- FAILURES:

  1) MyApp: First Test:
     Uncaught Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444

任何帮助?

2 个答案:

答案 0 :(得分:1)

在这里回答Unable to run Protractor - ECONNREFUSED connect ECONNREFUSED

webdriver-manager update

webdriver-manager start --standalone

这是我的codecept.json:

{
  "tests": "src/app/*_test.js",
  "timeout": 10000,
  "output": "./output",
  "helpers": {
    "Protractor": {
      "url": "http://localhost:3000/",
      "driver": "hosted",
      "browser": "chrome",
      "rootElement": "body",
      "useAllAngular2AppRoots": true
    }
  },
  "include": {
    "I": "./steps_file.js"
  },
  "bootstrap": false,
  "mocha": {},
  "name": "front"
}

请注意“useAllAngular2AppRoots”:true

答案 1 :(得分:0)

您可以在直接模式下运行Protractor-跳过Webdriver / Selenium服务器,并将Protractor帮助程序直接连接到浏览器。

您需要使用“直接”模式配置量角器,如下所示: “ directConnect”值会传递给量角器本身,因此它也使用直接模式。

"helpers": {
  "Protractor": {
    "url": "http://localhost:3000/",
    "driver": "direct", 
    "directConnect": true, 
    "browser": "chrome",
    "rootElement": "body",
    "useAllAngular2AppRoots": true
  }  
},