dequelabs / axe-webdriverjs

Provides a chainable axe API for Selenium's WebDriverJS and automatically injects into all frames.
Mozilla Public License 2.0
130 stars 46 forks source link

Stumped by install problems. #82

Closed mgifford closed 5 years ago

mgifford commented 6 years ago

Would love some direction.

$ npm install selenium-webdriver npm WARN axe-webdriverjs@2.0.1 requires a peer of selenium-webdriver@>= 2.53.1 but none is installed. You must install peer dependencies yourself.

$ npm install axe-webdriverjs npm WARN axe-webdriverjs@2.0.1 requires a peer of selenium-webdriver@>= 2.53.1 but none is installed. You must install peer dependencies yourself.

marcysutton commented 6 years ago

Hi Mike, for now you can get around that by updating to a newer version of Selenium Webdriver. The npm audit suggested version 3.6.0 as being without vulnerabilities:

npm install selenium-webdriver@3.6.0

Package.json for axe-webdriverjs has this in its dependencies: "selenium-webdriver": ">= 2.53.1". @WilcoFiers should we update that to 3.6.0 or later?

mgifford commented 6 years ago

That didn't seem to do much different:

$ npm install selenium-webdriver

$ npm install selenium-webdriver@3.6.0

Although I don't understand the "+ selenium-webdriver@3.6.0" in either:

In looking in the /usr/local/lib/node_modules/axe-cli/node_modules/axe-webdriverjs/package.json I found: "selenium-webdriver": "^3.6.0",

marcysutton commented 6 years ago

You should try running npm audit to see what it suggests for you, and npm audit fix to update the failing dependency. Ultimately we might need to pin a newer version of Selenium Webdriver into package.json, but 3.6.0 worked for me so I'm not sure the best version would be quite yet.

mgifford commented 6 years ago

I think I got through that point by doing a: npm audit fix --force

I don't know enough to fix anything here manually.

So "it works now", but I still haven't gotten it to do anything useful.

It would be amazing if the documentation gave more details.

So within the Usage tab, what should the file be named? How do I execute it? I'm missing something more primitive here.

With a lot of the other similar scripts I could execute a crawl from the command line. I understand this is different, but need more documentation.

Thanks!

marcysutton commented 6 years ago

Your test file(s) can be arbitrarily named whatever you like. You can kick them off with the npm test command by hooking up your tests in the scripts section of package.json. This demo might be useful, it uses Jasmine as the test runner to point to a test file in the spec directory: https://github.com/marcysutton/axe-webdriverjs-demo

Here's a blog post with a video in it, too: https://www.deque.com/blog/accessibility-testing-axe-webdriverjs/

mgifford commented 5 years ago

I'm lost in node dependency hell. There really has to be an easier way to start with this.

Packages & docs that half work, leaving me scratching my head wondering what I've missed where.

I'm just not enough in this space to get it. Or maybe node is just changing too quickly for folks to keep up.

No idea what versions are cool these days. I had Homebrew to install it. Tried to use nvm but that failed.

Arg.. Technology...

marcysutton commented 5 years ago

@mgifford what versions of Node and npm are you using? I'm on Node 9 and npm 6.4.1, and everything installs fine for me. What errors are you seeing?

One thing I noticed is the spec demo I linked above requires Selenium-Webdriver 3x, as it hasn't been updated for the new 4x APIs.

mgifford commented 5 years ago

I blew it all away and started fresh with: https://nodejs.org/en/

node = v10.13.0 npm = v6.4.1

Now it seems to have no problem installing either selenium-webdriver or axe-webdriverjs so I am going to close this comment. Thanks!

I still have to get to the testing with https://github.com/marcysutton/axe-webdriverjs-demo but I am closer.