Question

Having trouble running a project generated by yeoman generator called mean-seed. I've been tinkering with it for a few days now and tried a couple things. Where I am having trouble is running the "jasmine_node" task:

Running "jasmine_node" task
>> Error: Unable to access jarfile node_modules/protractor/selenium/selenium-server-standalone-2.39.0.jar
Warning: Done, with errors. Use --force to continue.

Aborted due to warnings.

So I first tried identifying missing npm packages to install

  744  npm install && bower update && bower install
  755  npm install protractor
  760  npm install npm install selenium-standalone
  761  npm install -g protractor
  765  npm install protractor-tester
  767  npm install protractor-selenium-server-vagrant
  768  npm install selenium-standalone@2.39.0-2.8.0-2

none of these actually created the file selenium-server-standalone-2.39.0.jar in the node_modules directory. I ran a find to check, however several other jars were install.

$ find . -name "*.jar" -print
./node_modules/grunt-jasmine-node-coverage-validation/node_modules/jasmine-node/node_modules/jasmine-reporters/ext/jline.jar
./node_modules/grunt-jasmine-node-coverage-validation/node_modules/jasmine-node/node_modules/jasmine-reporters/ext/js.jar
./node_modules/selenium-standalone/.selenium/2.39.0/server.jar

I found the selenium server download so I tried downloading and copying it over to the referenced directory which I had to create https://code.google.com/p/selenium/downloads/detail?name=selenium-server-standalone-2.39.0.jar

I run grunt again. It goes through tasks then runs the jasmine_node task

Running "jasmine_node" task
TEST configFile: /Users/jgs/Projects/mean/app/test/../configs/config.test.json
configFile: ./app/configs/config.test.json
   info  - socket.io started
waiting for server to be running..
[success] connected to db at localhost:27017/test_temp
>> Feb 01, 2014 3:03:54 PM org.openqa.grid.selenium.GridLauncher main
>> INFO: Launching a standalone server
>> Setting system property webdriver.chrome.driver to node_modules/protractor/selenium/chromedriver

------------------
[ERROR]
Run `node run.js config=test`
Server not connected. Ensure you have a node server running with the `config=test` command line option so this server connects to the TEST database - the same one used here for the tests. Do NOT connect to the live database for doing tests!
------------------

[success] connected to db at localhost:27017/test_temp

all tests - 2526 ms
    should test everything - 2525 ms

Failures:

  1) all tests should test everything
   Message:
     Expected 'ERROR - check the logs above to fix the problem then try again' to be false.
   Stacktrace:
     Error: Expected 'ERROR - check the logs above to fix the problem then try again' to be false.
    at /Users/jgs/Projects/mean/app/test/all.spec.js:6:2935
    at _rejected (/Users/jgs/Projects/mean/node_modules/q/q.js:808:24)
    at /Users/jgs/Projects/mean/node_modules/q/q.js:834:30
    at Promise.when (/Users/jgs/Projects/mean/node_modules/q/q.js:1079:31)
    at Promise.promise.promiseDispatch (/Users/jgs/Projects/mean/node_modules/q/q.js:752:41)
    at /Users/jgs/Projects/mean/node_modules/q/q.js:574:44
    at flush (/Users/jgs/Projects/mean/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)

Finished in 2.53 seconds
1 test, 1 assertion, 1 failure, 0 skipped


Warning: Task "jasmine_node" failed. Use --force to continue.

Aborted due to warnings.
$ 

Any idea why jasmine task is still failing?

Était-ce utile?

La solution

Run ./node_modules/protractor/bin/webdriver-manager update, see here for more info: https://github.com/jackrabbitsgroup/generator-mean-seed/issues/5

I hadn't yet updated the documentation everywhere yet for the Protractor upgrade, sorry about that!

Autres conseils

Here is my solution.

First you need to download both the selenium-server-standalone https://code.google.com/p/selenium/downloads/detail?name=selenium-server-standalone-2.39.0.jar

and the chromedriver http://chromedriver.storage.googleapis.com/index.html

copy them to

node_modules/protractor/selenium/

you will want another terminal tab or window to start the node server by runing

node run.js

then you can run the default grunt task

grunt

You will then see the output of the selenium tests in the console and chrome should open and perform the tests automatically.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top