Profile cover photo
Profile photo
Julie Ralph

Post has attachment
Protractor 2.0.0 is out today! This is actually a pretty small release, but it includes a breaking change that we suspect may affect many users, so in the spirit of semantic versioning we decided to make a new major release number.

- What's the breaking change?

ElementFinder, the class returned by `element(locator)`, is no longer a promise until an action has been called. This means that `element(by.css(''))` no longer has a `then` function, but `element(by.css('')).getText().then` still works. Note that this doesn't change the functionality of the ElementFinder at all.

Why? We updated version of WebDriverJS (also known as the selenium-webdriver node module) from 2.44 to 2.45.1. There are a couple of improvements to the promise library that WebDriverJS uses, which caused issues when ElementFinder was a promise. It never really made sense for `element.then` to resolve to itself in any case, so I think that this change will improve clarify all around.

- Does this have anything to do with Angular 2 or Jasmine 2?

Nope. We support Jasmine 2 with with the `framework: 'jasmine2'` option, but the default framework is still Jasmine 1.3. Angular 2 support is in progress.

- Anything else exciting about this version?

We finally fully removed the `chromeOnly` option, which has been deprecated in favor of `directConnect` for a while.

The dependency update to WebDriverJS means that you can now use directConnect with new versions of FireFox. 

There is a new plugin that will automatically collect browser console warnings and failures for you - see

Full changelog is at
Add a comment...

Post has attachment
A big thanks to the ng-conf organizers! I didn't take any photos of the conference itself, but here's some shots from around the city.
Salt Lake City 2015 for ng-conf
33 Photos - View album
Add a comment...

Post has attachment
We've got a little Protractor release out today - hello 1.8.0!

This updates the version of the selenium server that we use, which means that tests with Firefox 35/36 work again! You'll need to do a `webdriver-manager update` to get the latest binaries.

We've also got a beta version of our automated accessibility auditing plugin, thanks to +Marcy Sutton  

Check out the full changelog linked, as always.
Add a comment...

Post has attachment
Happy Tuesday folks, we've got a new Protractor release out today!

This fixes an embarrassing bug where ChromeDriver wouldn't update properly with `webdriver-manager update`.

New stuff:

- Upgraded the version of ChromeDriver that webdriver-manager downloads to 2.14 - which is notable because this version supports Shadow DOM! You can use `by.deepCss` to find elements inside a shadow root, or just `by.css('* /deep/ .foo')`

- Adds support for custom testing frameworks - if you'd like to use your own, take a look at

- Adds a library, Expected Conditions, for dealing with stability issues when on non-Angular pages. This adds a lot of helpers for dealing with issues like "wait for my login button to appear". See the notes at for more details.

- We've updated the element explorer with a significant refactor that combines the infrastructure with what we use for browser.pause. This means that you can now use a configuration file with element explorer. See the docs at

- Added the `browser.getProcessedConfig` method. This lets you get at the configuration for one specific browser instance. This will support use cases such as doing different setup in `onPrepare` based on the browser being used.

Full changelog linked, as always!
Add a comment...

Post has attachment
I was using Google Apps Script for a personal project last night, and I'm really impressed! I hadn't realized that it can actually host a webpage for you, take care of authentication and permissions, connect to Google drive APIs - really good for one-off sites!
Add a comment...

Post has attachment
My mom and I have been saying this for years.
Add a comment...

Post has attachment
Happy new year! We've got the first Protractor release of the year out - 1.6.0 is now published.

This is a big one! We've added support for Jasmine2 as a test framework, and updated all our own tests to use it. It's pretty painless - migration guide is at

I'm also excited about improvements to the browser.pause() method for debugging. You can now enter code from the command line when your test has been paused, like in element explorer. Guide at

We've improved error messages, added the option to restart the browser between tests, improved handling promises in the config for teams that need more flexibility there, updated the version of Chromedriver, and various other fixes and improvements.

This update also includes an experimental plugin to help visualize test latency. Check out the comments at if you're interested in testing this one out - we'll be improving it and writing better guides soon.

As always, full changelog is linked!
Add a comment...

Post has attachment
Just released Protractor 1.5.0! This one's got JSON output, troubleshooting mode, and runner stability fixes.

For those following issue #381, we've also got the ability to control multiple browser instances from one test. I'm excited to see what test cases get created with this, and how robust and useful they are.

As always, full changelog in the link!
Add a comment...

Post has shared content
This applies for Protractor contributors as well!
I've just posted a quick note about some changes we've made to Angular's infrastructure for Contributors License Agreement (CLA).
Add a comment...

Post has attachment
Conferences are over, and it's back to work for the Protractor team - version 1.4.0 is now released! This one's got a bunch of bug fixes that should improve stability, updates to new versions of WebDriver and ChromeDriver, and some nice features.

We've introduced beforeLaunch/afterLaunch functions, which will run only once for a given configuration (as opposed to onPrepare/onCleanup, which are run once per capability).

Another big change is that the option to connect to chrome without a selenium server in the middle, chromeOnly, has been renamed to the less-confusing directConnect - and it now works for firefox as well!

Full changelog linked below.
Add a comment...
Wait while more posts are being loaded