angular / protractor

E2E test framework for Angular apps
http://www.protractortest.org
MIT License
8.75k stars 2.31k forks source link

Protractor 5.4.2 does not work with Chrome 74+ combine with webdriver-manager 12.1.4, mime-types 2.1.24, and mime-db 1.40.0 (ubuntu:16.04 node:6.x) #5239

Open shihuawang opened 5 years ago

shihuawang commented 5 years ago

Since google-chrome-stable released 74.0.3729.157-1, my Protractor test script fails for a set of test cases. At first, I can get it work by installation of 73.0.3683.103-1, this was when webdriver-manager was in 12.1.1. However, after the webdriver-manager upgraded to 12.1.4, neither 74.0.3729.157-1 or 73.0.3683.103-1.

This is running on docker of ubuntu 16.04, the docker is running on ubuntu 4.4.0-34-generic #53 Node Version: 6.x Protractor Version: 5.4.2 Angular Version: 1.5.8 Browser(s): Chrome

To try to get it work, I forced installation of webdriver-manager 12.1.1 by command: RUN npm install -g webdriver-manager@^12.1.1 However, 12.1.4 was installed (please see the log below): Step 11 : RUN npm install -g webdriver-manager@^12.1.1 ---> Running in 6190894361e3 /usr/bin/webdriver-manager -> /usr/lib/node_modules/webdriver-manager/bin/webdriver-manager /usr/lib -- webdriver-manager@12.1.4 +-- adm-zip@0.4.13 +-- chalk@1.1.3 Question 1. How can I install webdriver-manager 12.1.1 on my docker? Question 2. How can I get my test cases work again? The failed case is to create a new record by 1) Click a button or use a url link to open a web form so that I can enter data of the record. 2) Fill the web form and click a button to save. I haven't find anything special in angular code with this failed form. But the server code involve more error handling, At one time, when I make sure the server doesn't give any error or timeout, the passed, but two days later, the same failure occurs again.

And these test cases still pass in an old chrome 73.0.3683.103-1 webdriver-manager@12.1.1 environment. So I believe if I can install webdriver-manager@12.1.1 it will work.

shihuawang commented 5 years ago

reference case #5225

shihuawang commented 5 years ago

Ok, this is what happened, Last Friday, May 10, I found a work around by clearing cache to avoid an harmless error in my application. I tested for two days to make sure it worked. But Tuesday, May 14, google-chrome-stable moved to 74.0.3729.157-1 and my work around no longer work.

Fortunately, I created a base docker which including every 3rd party packages except things with webdriver-manager update, so I changed it to sudo webdriver-manager update --versions.chrome 74.0.3729.6 This at least make my work around work.

But I still need fix that allow me not to use the work around, which will cause the test miss any caching errors and also prevent testing in case we do need to use cache. Version combination that work for me with the "clear cache" work around: Chrome: 74.0.3729.131-1 Protractor: 5.4.2 webdriver-manager: 12.1.4 node: 6.17 chromedriver: 74.0.3729.6

Version combination that does not work for me: Chrome: 74.0.3729.157-1 Protractor: 5.4.2 webdriver-manager: 12.1.4 node: 6.17 chromedriver: seems to be 75.0.3770.8

Version combination that work for me (but no longer work because I can no longer install webdriver-manager: 12.1.1 ): Chrome: 73.0.3683.103-1 Protractor: 5.4.2 webdriver-manager: 12.1.1 node: 6.17 chromedriver: 73.0.3683.68