-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows support when running local copy under node_modules #63
Comments
This is Chrome issue on Windows. It worked fine in previous versions of Testacular, because we were using I'm curious about "not serving the url with id". The web server should ignore anything after |
Yeah.. sorry, I should have given a few more details here. I was in the midst of copying some captured info out of my VM, when the machine powered off (having hardware issues with my laptop at the moment). In any event, let me give you some debug output to make it a bit more clear. But what I'm saying is that I can do two things to verify I'm not being served the scripts (passed to the For the sake of argument, let's say Canary is served the If I create a new Canary instance, and point it at I verify this in two ways
I have tried to do a refresh with Now if I instead point the browser at Does that clear things up (until I can get you some real console output just to prove I'm not crazy ;0) |
This is weird. Really testacular does not care about the I tried this on Windows7 VM:
Can you double check the console if there is any error ? |
Ok -- I've figured out what the problem is.. I still think this is a bug, but maybe you have a good reason for this behavior. The basic problem is that if not all of the specified browsers can be contacted, then the content won't be served / tests won't run. My PhantomJS was in a different spot on disk than where you expect it to be (something that should probably be configurable)... but I wasn't too worried about that, because I didn't think it would be a factor here. As it turns out, it would seem that Testacular is expecting all the configured browsers to connect before it does anything. So by manually hitting the url that was intended for PhantomJS, I'm manually confirming that the browsers are responding. IMHO, I think you should either
Here's the longer story with all the details... which led me to the above conclusion. I'm launching testacular from a Grunt build... child = fork(path.join(__dirname, 'spec','server.js'), [JSON.stringify(options)]) Here is the util = require('util');
util.log('Starting testacular with arguments:' + util.inspect(process.argv[2]));
require('testacular').server.start(JSON.parse(process.argv[2])); And here is the output on first run...
You can see that it found the files just fine... but not that it's not serving everything that it should. It hasn't found PhantomJS. My assumption would be that just PhantomJS fails to run, but that's not the case. If I point canary at
If I refresh the page:
Now here's where it gets interesting... if I point the browser at Obviously I've got some issues in the tests themselves, but to be able to figure that part out, I need them to run first! ;0
Thanks for taking a look -- sorry to have initially given you a red herring. |
Note that even when PhantomJS is configured properly, it can take some time for it to fire up (on the first run)... might be useful to dump this to the output, as otherwise it can look like nothing is happening. |
Yep, currently Testacular waits for all the browsers to get captured, before running (in single run mode). There is an issue to change that #57. It's not true, that the content is not served. Unless there is any windows specific issue, Testacular's web server does not care about any captured browser or whatsoever. It just serves all the time. WATCHING MODE SINGLE RUN MODE To summarize this, I see only one issue - don't wait for all browsers to run. And there is already an issue for it #57. |
Nope, that's accurate... aside from the configuring the path to PhantomJS part. I'll open up a separate issue for that. |
I'm having two separate issues it would appear...Windows 7 x64, Node 0.8.11.
0.2.0
, Chrome Canary launches process + UI just fine, but the appended?id=1
doesn't serve up any content.0.3..7
, Chrome Canary launches the process, but it's running headless somehow. I verified this multiple times just to make sure I wasn't seeing things (including reboots, etc)I can launch a new browser instance, and plug in the id for the url that it was launched with and I get nothing. No content is served.
Note that I've configured testacular to use both
PhantomJS
andCanary
So if I take the id that's supposed to be used by
PhantomJS
and I plug that into the browser -- everything loads up. I can see in my shell that Testacular starts serving everything properly (I'm running with LOG_DEBUG)I'm not going to worry about
0.2.0
.. and I'll focus on0.3.7
. So to recap on those issuesI should hopefully be able to figure out why chrome.exe is
spawn
d without a UI ... was wondering if anyone had encountered the other issue with bad Ids?The text was updated successfully, but these errors were encountered: