I'm running tests with protractor, but it seems impossible to access the JS 'window' object. I even tried adding a tag in my html file that would contain something like
var a = window.location;
and then try expect(a) but I couldn't make it work, I always get undefined references...
How should I process to access variables that are in the browser scope ?
Assuming you are using a recent version of Protractor, let's say >= 1.1.0, hopefully >= 1.3.1
Attempting to access Browser side JS code directly from Protractor won't work because Protractor runs in NodeJS and every Browser side code is executed through Selenium JsonWireProtocol.
Without further detail, a working example:
One-liner promise that, as of today, resolves to
'1.3.0-rc.3'
You can use it directly in an expect statement given Protractor's expect resolves promises for you:
Longer example passing a function instead of a string plus without
expect
resolving the promise for you. i.e. for more control and for doing some fancy thing with the result.