如何运行量角器

use*_*401 16 angularjs protractor

我是AngularJS的新手.我正在尝试学习并使用Protractor进行一些端到端的测试.我一直在浏览这里提供的信息.当我到达"Run with protractor myConf.js" 部分时,我陷入了困境.

量角器是命令行程序吗?或者是什么?我想要确定的是,在什么环境下我需要运行"量角器myConf.js".我不想全局安装量角器.我想在本地环境中运行该模块.这是一个选择吗?

谢谢,

Bri*_*n F 15

您需要通过节点运行它.

所以从你的项目的基础;

node node_modules\protractor\bin\protractor test\myConf.js
Run Code Online (Sandbox Code Playgroud)


ten*_*ent 11

这些是入门文档:

https://github.com/angular/protractor/blob/master/docs/getting-started.md

您需要在计算机上安装node.js,以及npm节点包.安装完这两件事后,您可以按照上述文档中的其他说明进行操作.

Protractor启动并运行之前,只需要大约5-10分钟的安装时间.如果你仍然被卡住,请告诉我.


Rea*_*lar 11

您可以通过以下方式全局安装Protractor:

$ npm install -g protractor
Run Code Online (Sandbox Code Playgroud)

之后它应该在命令行上可用(Windows/Linux)

$ protractor protractor.conf.js
Run Code Online (Sandbox Code Playgroud)

要仅为当前项目安装:

$ npm install protractor --save-dev
Run Code Online (Sandbox Code Playgroud)

它可以通过node_modules这样的方式运行(Windows/Linux):

$ ./node_modules/.bin/protractor protractor.conf.js
Run Code Online (Sandbox Code Playgroud)

您可以将其添加到您package.json的运行中以便于运行:

"scripts": {
    "test": "./node_modules/.bin/protractor protractor.conf.js"
}
Run Code Online (Sandbox Code Playgroud)

然后呢:

$ npm test
Run Code Online (Sandbox Code Playgroud)

  • 这个问题是网络服务器在调用npm test之前运行:(有没有办法在量角器之前启动我们的服务器Express/Hapi/Trails? (2认同)

小智 9

您应该使用npm-run-all(或concurrently,parallelshell),因为它可以更好地控制启动和终止命令.

一旦npm-run-once,protractor,http-server本地安装,你可以修改的package.json这样的:

scripts: {
  "webdriver-start": "./node_modules/protractor/bin/webdriver-manager update && ./node_modules/protractor/bin/webdriver-manager start",
  "protractor": "./node_modules/protractor/bin/protractor ./tests/protractor.conf.js",
  "http-server": "./node_modules/http-server/bin/http-server -a localhost -p 8000",
  "python-example": "python -m SimpleHTTPServer",
  "test1": "npm-run-all -p -r webdriver-start http-server protractor",
  "test2": "npm-run-all -p -r webdriver-start python-example protractor"
}
Run Code Online (Sandbox Code Playgroud)

-p =并行运行命令.

-r =当其中一个命令以零结束时,终止所有命令.

运行npm run test1将启动Selenium驱动程序,启动http服务器(为您提供文件)并运行量角器测试.完成所有测试后,它将关闭http服务器和selenium驱动程序.