Protractor/Jasmine showing different versions - what am I doing wrong? - testing

When I do this:
console.log('jasmine-version:' + jasmine.getEnv().versionString());
it prints: jasmine-version:1.3.1 revision 1354556913
When I run 'npm list jasmine-core' it prints:
server#0.0.1 /Users/xx/Desktop/workingDirectory
└── jasmine-core#2.1.3
Why is one showing 2.1.3 and another showing 1.3.1?
I don't seem to have the features in 2.1.3, so it's running 1.3.1. How do I fix this?

You have to specify that you want to use jasmine2 in the conf file. Please read the docs here: https://github.com/angular/protractor/blob/master/docs/jasmine-upgrade.md#in-your-conf-file.
Protractor supports both jasmine 1.3 and 2.x, and it's up to you to specify the version of jasmine you want to use. (Side note, 2.x is provided via jasmine-core, while 1.3 is provided via minijasminenode)
EDIT: another side note, protractor support for 2.x is not released until protractor 1.6 or if you use master

This is my issue https://github.com/angular/protractor/issues/362
Looks like Jasmine2 was only checked in a few days ago.

Related

Is the ddd() helper not working in Laravel 9?

I upgraded to Laravel 9 the other day, and now the ddd() helper is failing with the error Call to undefined function ddd(). I found this post on the Laracasts forum, but at time of writing there is only a single reply that states that the facade/ignition was replaced with spatie/laravel-ignition. I did not see anything in the documentation for the new package that mentions anything changing with ddd(), is there an additional configuration or something that is needed to re-enable ddd()?
Take a look at this https://github.com/facade/ignition/pull/201#event-2712168617
jasonvarga deleted the ddd branch 2 years ago
And you are right about not seeing any documentation about it in changelogs as well.
I heard this ddd() helper for the first time from you, so thax for that.
Please do check out the documentation of both of the packages.
Here facade / ignition and spatie / laravel-ignition
Both packages saying the same thing that
spatie/laravel-ignition works for Laravel 8 and 9 applications running
on PHP 8.0 and above. Looking for Ignition for Laravel 5.x, 6.x or 7.x
or old PHP versions? facade/ignition is still compatible.
In spatie/laravel-ignition version 1.2.0, ddd() was added back in! If you are not able to use ddd(), first check your composer.json file to make sure that your spatie/laravel-ignition version is 1.2.0 or above.
"require-dev": {
"spatie/laravel-ignition": "^1.2.3"
}

Protractor 5.1.1 selenium-webdriver version inconsitency

I've recently upgraded to Protractor 5.1.1 and am facing some issues when setting cookies via browser.manage().addCookie()
The API has changed between versions 2 and 3 of Selenium-webdriver to expect an object rather than the previous 2..6 arguments. When I make the changes to my code to use the object, the typescript compiler complains saying that it expects 2..6 arguments.
old api:
browser.manage().addCookie('cookieName', 'cookieVal');
new api:
browser.manage().addCookie({name:'cookieName', value: 'cookieVal'});
I think this is because the #types/selenium-webdriver in the package.json of protractor v5.1.1 is pointing at version 2.53.39. The version of the actual selenium-webdriver the same package.json is referencing is 3.0.1.
Should this be the same value? Is anyone else experiencing problems with this?
Yup, this is happening because the type definitions was not written at the time.
workaround
Here is the workaround for now:
(browser.manage() as any).addCookie({name:'cookieName', value: 'cookieVal'});
We are setting browser.manage returned options object to any. Then we can give it the addCookie method.
OR
upgrade definitions
you could upgrade your #types/selenium-webdriver type definitions to version 3.
I'm having the same problem! I do know that the #types/selenium-driver is now updated to version 3.0.0.
I haven't had luck with this, but you could try installing it directly (i.e. npm install --save-dev #types/selenium-webdriver) and adding it to your list of types in your tsconfig.json file (i.e. types: [ "selenium-webdriver" ].

image-height not resolve output

Trying to achieve this proposal to make a div size based on its background image I'm using Less 2.5.1 compiled by Web Essentials 2013 for Update 4 version 2.5.4 and some functions do not resolve:
My Less File:
.myClass{
height:image-height("myUrl.png"); //<-- Do not resolve
width:percentage(1/2); //<--Resolves
}
Resolved Css File:
.myClass{
height:image-height("myUrl.png"); //Not good
width:50%; //Good
}
I'm having this problem with image-height, image-width and image-size. Not with the rest of Misc Functions
There's no problem resolving the image by the compiler, because it's working fine when I used it like:
background-image:url("myUrl.png");
In the documentation there's a note for these methods saying:
Note: this function needs to be implemented by each environment. It is
currently only available in the node environment.
In the WebEssentials documentation it says:
Web Essentials uses the node-less compiler and it always uses the
latest version
And
NodeJS compilation - Web Essentials uses NodeJS to run the compiler.
It's the fastest and most accurate compiler for LESS available.
I'm missing something that I don't know. What does that note mean? What
should I do?
I've create a jsfiddle to share with you my goal.

casperjs.bat on windows fails with cannot find module cli.js error

I'm trying out casperJS to run some automated tests. On windows. I followed this installation guide but am stuck.
when I try to run a simple test from the command line like this:
casperjs.bat smoketest.js
I get the following error:
Error: Cannot find module 'C:/code/base/main/Shared/casperjs\modules\cli.js'
I checked, and the file cli.js does exist under the specified path.
I thought the problem could be the mixture of forward and backward slashes in the path, but I edited the bootstrap.js casper code to hard code the path and it made no difference - it still the cannot find module.
I'm have tried this using phantomJS version 1.9.0, and 1.8.2.
Anyone know what I am doing wrong?
Has anyone had success running casper on Windows?
This is due to a bug in PhantomJS 1.9.0 that does not allow for absolute path loading in Windows. Afaik, this should only be apparent if you are using a master build of CasperJS (v1.1).
This bug has been fixed, but is not yet in the Windows binary. You can compile it yourself if you'd like, but that can take quite a bit of time.
I was using the master build of casper. With the latest released version, 1.0.2, it works fine.

Can't get PhantomJS to work with a simple example

I've downloaded the executable and created a simlink to /usr/local/bin.
I'm under Mac OSX 10.7
When I then try to run a script that requires some module i.e.
var page = require('webpage').create();
I got an error
undefined:0 ReferenceError: Can't find variable: require
as if 'require' is not seen as a reserved word but interpreted as a variable symbol.
(As an aside, whenever I lunch phantomjs a Sencha Touch icon appears in my Dock)
Your copy of PhantomJS is from an older version. Always get the latest one from http://phantomjs.org.
I had this issue too, and the problem was my version of mocha -- going back to 1.9.0 fixed it.
SenchaTouch 2.0 installs PhantomJS 1.1 somewhere depending on the OS. Under *NIX check where with 'which phantomjs'.
Just modify your bash or whatever configuration file accordingly to remove the Phantomjs included with SenshaTouch from your PATH.