baudehlo / node-phantom-simple

Simple bridge to phantomjs for Node
MIT License
201 stars 70 forks source link

node-phantom-simple not working on Linux for webpages giving response in more than 30 seconds #148

Open SimitTomar opened 8 years ago

SimitTomar commented 8 years ago

Hi,

I am using pa11y to perform accessibility testing on my webpages, pa11y invokes node-phantom-simple internally to perform Testing. However, phantomjs just waits for 30 seconds and in case there is no response (which is my case as I guess my webpage is taking more than 30 seconds), it returns an empty result.

This issue is happening only on my Jenkins Server (Linux), mentioned below are the details of my NPM modules pa11y@4.0.1 truffler@2.2.1 node-phantom-simple@2.2.4 The same URL is working fine on my local Windows 7 machine (Maybe because the response is faster on local m/c)

I tried running a different url on Jenkins Server and got the results successfully as the response was fast.

Here is my Jenkins report on enabling pa11y's logs:

PhantomJS browser created PhantomJS page created Opening "My_Site_Url" in PhantomJS PhantomJS page closed PhantomJS browser exited

And then finally the below error, since the result object was empty:

Cannot read property 'length' of undefined running firefox (v44) on Windows 7 TypeError: Cannot read property 'length' of undefined at Object.buildMarkdown [as process] (/apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/node_modules/pa11y/reporter/markdown.js:34:13) at /apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/tests/acceptance/wdio/features/step_definitions/Accessibility-Standard-Check.js:83:50 at /apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/node_modules/pa11y/node_modules/truffler/lib/truffler.js:182:11 at /apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/node_modules/pa11y/node_modules/async/lib/async.js:697:13 at /apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/node_modules/pa11y/node_modules/async/lib/async.js:52:16 at /apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/node_modules/pa11y/node_modules/async/lib/async.js:267:21 at /apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/node_modules/pa11y/node_modules/async/lib/async.js:44:16 at /apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/node_modules/pa11y/node_modules/async/lib/async.js:694:17 at /apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/node_modules/pa11y/node_modules/async/lib/async.js:173:37 at /apps/paoworkspace/workspace/pao-savings-cwa-feature-bdd/node_modules/pa11y/node_modules/truffler/lib/truffler.js:146:13

I tried increasing the Timeout in entire pa11y module which includes truffler and node-phantom-simple ( var WATCHDOG_TIMEOUT = 50000; in bridge.js ), but still the request times out after 30 seconds. Is there any way I can increase the Timeout for node-phantom-simple ?

Thanks Simit