Skip to content
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

5.4.3 Release Without Release Notes or Changelog #5390

Closed
simonua opened this issue Jan 28, 2020 · 28 comments
Closed

5.4.3 Release Without Release Notes or Changelog #5390

simonua opened this issue Jan 28, 2020 · 28 comments

Comments

@simonua
Copy link
Contributor

simonua commented Jan 28, 2020

Hi there!

I see a newly-released 5.4.3 version but there is no accompanying release note or changelog update. Also, the changelog on master still reflects the 6.0.0 version that was pulled back, IIRC.

Thanks for continuing your work in this repo!

@simonua
Copy link
Contributor Author

simonua commented Jan 30, 2020

In related news, the Angular 9 RC11 from last night updates protractor from 5.4.2 to 5.4.3:

https://github.com/angular/angular-cli/releases/tag/v9.0.0-rc.11

@Fuun347
Copy link

Fuun347 commented Jan 31, 2020

@juliemr @cnishina do you by any chance have any information about this? May I also ask if support for protractor will continue or is the library being slowly abandoned?

@CrispusDH
Copy link
Contributor

Slowly? Several years without any steps it's not slowly.

@Fuun347
Copy link

Fuun347 commented Jan 31, 2020

It's far from being abandoned in terms of use. A lot of people still rely on it, me included.

@AugustusKling
Copy link

The changes from 5.4.2 to 5.4.3 are few as visible in the diff: https://github.com/angular/protractor/compare/5.4.2..5.4.3

Basically:

@cnishina
Copy link
Member

cnishina commented Feb 4, 2020

@AugustusKling Thanks for posting that.

This project as far as I know is not abandoned (quick or slow). Is it dead? Not that I am aware of. I am working on a different team (not Protractor) that uses Protractor as a dependency. We still rely on it too.

Moving forward the continued support will be provided by the Angular team. Happy testing everyone!

@Phonesis
Copy link

Phonesis commented Feb 4, 2020

Can we expect Protractor 6 anytime soon?

@cnishina
Copy link
Member

cnishina commented Feb 4, 2020

@Phonesis That's a good question for the Angular team. Most of the work we did last year was to move off of the control flow and deprecate old promise libraries. There are a few outstanding issues (as far as I know of):

  • There is a parallel test bug that was not resolved
  • There is some documentation that is missing

Why did we decide to not do a 6 release last year? We pulled back the release initially because it was not documented for users still on the control flow. I think there still needs some documentation around this as well as a control flow migration story.

(Also I updated this comment because I was using a different ortho keyboard and I thought I was hitting the backspace button but published my WIP comment and closed the issue)

@cnishina cnishina closed this as completed Feb 4, 2020
@cnishina cnishina reopened this Feb 4, 2020
@heathkit
Copy link
Contributor

heathkit commented Feb 5, 2020

Sorry about that - I did update the changelog, but forgot to merge it: https://github.com/angular/protractor/blob/release-5.4/CHANGELOG.md

This was a small release to fix an issue that was preventing Angular from updating to TypeScript 3.7. Protractor 5 is the last version of Protractor that uses the deprecated WebDriver control flow (see SeleniumHQ/selenium#2969). Future updates to Protractor 5 will be on the 'release-5.4' branch. We don't want to break people with updates to Protractor 5, so we won't be updating the version of WebDriver it uses. Unfortunately, the latest version of Chrome uses the W3C standard actions API, which is not compatible with the version of WebDriver that we've pinned Protractor 5 to. This means that Chrome v74 is the last version of Chrome that fully works with Protractor 5. Future versions of Chrome still mostly work, just not low-level mouse control via the Actions API. That's why I updated our CI to use Chrome v74.

The master branch is Protractor 6. Unfortunately, Protractor 6 is a major breaking change. With the WebDriver control flow deprecated, tests need to be rewritten to use async/await rather than rely on the process manager. We did this in Google a couple years ago.

We don't want to actually release Protractor 6 until we have some documentation and tooling to help people migrate off the control flow. However, if you'd like to get a head start, you can disable the control flow on Protractor 5 (see https://github.com/angular/protractor/blob/release-5.4/docs/control-flow.md). Once your tests pass with the control flow disabled, you should be able to update to Protractor 6.

@heathkit heathkit closed this as completed Feb 5, 2020
@tfaron
Copy link

tfaron commented Feb 6, 2020 via email

@Fuun347
Copy link

Fuun347 commented Feb 6, 2020

@tfaron as far I know protractor 6.0 was retracted shortly after it was released. The current version available for protractor 6 has not been updated in 10 months and is not very unusable, again, as far as I know. I assume @heathkit was referring to update once it is officially released again in the near future.

@tfaron
Copy link

tfaron commented Feb 6, 2020 via email

@kylecordes
Copy link

It is wonderful to see an official-is declaration that the future is to move away from the old control flow and use async-await. I feel validated - we’ve already been teaching it that way for a while.

@heathkit
Copy link
Contributor

Absolutely! Everyone should move off the control flow as soon as is convenient. @kylecordes Do you have any tools or documentation that might help people migrate?

We thought this was more urgent last year, since Selenium 4 doesn't support the control flow. However, now that WebDriver is a W3C standard, things seem to be changing much more slowly. I don't know when Selenium 4 is actually going to be released, but presumably when that happens people will need to migrate in a hurry.

@vsravuri
Copy link

vsravuri commented Feb 11, 2020

I referred few examples available under Protractor - Reference and able to successfully migrate my code to async-await

http://www.protractortest.org/#/async-await
http://www.protractortest.org/#/page-objects

@Fuun347
Copy link

Fuun347 commented Feb 12, 2020

@heathkit do you have any clear idea on when we can be expecting Protractor 6 to be released? There is the constant fear from a lot of people that support for Protractor might be completely dropped soon which will leave a lot of us stranded.

@csvan
Copy link

csvan commented Feb 26, 2020

I second the concern of @Fuun347

@Fuun347
Copy link

Fuun347 commented Feb 26, 2020

@csvan @heathkit I guess we're not going to get a clear answer soon?

@MathieuNo
Copy link

Can we have a clear answer from Protractor members, please ?
I currently ask some question about uncompleted PR, the bug fix delay and the answer frequency on issues. The last known release don't fix bugs and have poor content/features.

@abhinaba-ghosh
Copy link

Can we get a roadmap?

@Splaktar
Copy link
Member

Can we get a roadmap?

This is what we have for now: https://angular.io/guide/roadmap#update-our-e2e-testing-strategy

Under the "In Progress" part of the Roadmap

Update our e2e testing strategy
To ensure we provide a future-proof e2e testing strategy, we want to evaluate the state of Protractor, community innovations, e2e best practices, and explore novel opportunities.

@StanislavKharchenko
Copy link

@Splaktar This info published in @angular website almost year. Maybe you have more info and can tease something?
Interested to know when we expect dependency upgrades to selenium-webdriver 4.0, jasmine 3.X and all other products.
I heard about concerns regarding these upgrades, since more users are still on control flow. The question is why not to have 2 active versions of protractor? New on selenium 4.0 (without control flow) and old legacy (currently protractor 7.0) using selenium 3.X (with control flow).

@Splaktar
Copy link
Member

why not to have 2 active versions of protractor

There should be some updates coming soon on this, but I can share that we do not have the resources to support two actively developed versions of Protractor.

@StanislavKharchenko
Copy link

@Splaktar But even one version (current 7.0) not supported, not actively nor at all - no PR merging, no bug fixing, no answers from official @angular team (your answers as exception, thank you:-) )We hope that @angular team as new repo Protractor owner will come back to Protractor support and improvements. Waiting for good news and roadmap. Thanks!)

@csvan
Copy link

csvan commented Mar 20, 2021

People concerned about the state of Protractor - why not just move to another solution? We moved all our e2e testing from Protractor to Cypress a year ago exactly because of this. It was not a cheap process initially, but has saved us exponentially more time and resources in the long run.

Honestly, I don't even see why the scope of Angular should include maintaining an entire e2e stack these days when there are dedicated solutions for that. Just provide bindings for Cypress and similar solutions and focus on developing Angular itself.

@StanislavKharchenko
Copy link

@csvan We didn’t find Cypress as solution which could done our needs in testing. It okay for small projects IMO. Also, at the same time we didn’t find it stable and don’t know what will be with it and other similar framework in 2-3 years. Cypress could die as quickly as it appeared. Protractor as seleneium wrapper is from 2013 as I remember. If protractor will be deprected, we will migrate to native selenium since it supported, has a big community and became as standard according to w3c, what not say about non-selenium frameworks like cypress.

@Phonesis
Copy link

Phonesis commented Mar 20, 2021

Just to add to the conversation. I work for a large company and we use Protractor to drive thousands of end to end tests. Of course, we have considered alternatives (Cypress, Test Cafe, and most promisingly Playwright).

Playwright is the only alternative that offers what we need. A free model (no hidden pay walls), ability to emulate different browsers (not just chromium), and easy to mix it in with Cucumber.js.

The main draw to Protractor for us though is it works great with tabs/frames (we have 'legacy' pains to deal with) as it is driven by webdriver protocol. Also, it has a very nice parallel execution configuration for sharding capabilities etc.

So we would ideally like to stick with it as long as it eventually receives Selenium 4 support. I personally don't see the point in maintaining two versions. Just focus on the async/await support and ditch control flow.

@csvan
Copy link

csvan commented Apr 6, 2021

Seems like Protractor is officially dead.

#5502

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests