NickTomlin / protractor-flake

Rerun potentially flakey protractor tests before failing.
MIT License
80 stars 51 forks source link

Hanging Test #16

Closed stramel closed 8 years ago

stramel commented 8 years ago

I just got this working while testing with a few tests and works as expected. I am now trying to run my full suite ~765 tests and it is hanging on this test. The output is below.

// package.json
// ...
    "jasmine-core": "^2.4.1",
    "jasmine-reporters": "~2.0.5",
    "jasmine-spec-reporter": "^2.4.0",
// ...
    "phantomjs": "just-boris/phantomjs", // PhantomJS 2
    "protractor": "^2.5.0",
    "protractor-flake": "^1.0.1",
    "protractor-jasmine2-screenshot-reporter": "^0.1.4",
/// ...
  E2E: New Program Setup Description View
    ✗ should upload program image, verify upload, and delete program image
      - Failed: stale element reference: element is not attached to the page document
  (Session info: chrome=47.0.2526.106)
  (Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) (WARNINe server did not provide any stacktrace information)
Command duration or timeout: 11 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'M47Z0V52', ip: '156.45.40.192', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '155'
Session ID: b72f7159f81314064081c035b5906f57
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\stramppData\Local\Temp\scoped_dir14320_20577}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=4526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]
        (Session info: chrome=47.0.2526.106)
        (Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) (NG: The server did not provide any stacktrace information)
      Command duration or timeout: 11 milliseconds
      For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
      Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
      System info: host: 'M47Z0V52', ip: '156.45.40.192', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.versi1.7.0_55'
      Session ID: b72f7159f81314064081c035b5906f57
      Driver info: org.openqa.selenium.chrome.ChromeDriver
      Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Usersmema\AppData\Local\Temp\scoped_dir14320_20577}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, ver47.0.2526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEn=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]
          at new bot.Error (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\atoror.js:108:18)
          at Object.bot.response.checkResponse (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenibdriver\lib\atoms\response.js:109:9)
          at C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdrive379:20
          at [object Object].promise.ControlFlow.runInFrame_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_es/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
          at [object Object].goog.defineClass.notify (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/ium-webdriver/lib/goog/../webdriver/promise.js:2448:25)
          at [object Object].promise.Promise.notify_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/ium-webdriver/lib/goog/../webdriver/promise.js:564:12)
          at Array.forEach (native)
          at [object Object].promise.Promise.notifyAll_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modullenium-webdriver/lib/goog/../webdriver/promise.js:553:15)
          at goog.async.run.processWorkQueue (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\seleniumriver\lib\goog\async\run.js:130:15)
          at runMicrotasksCallback (node.js:337:7)
      Error
          at [object Object].ElementArrayFinder.applyAction_ (C:\Users\stramema\projects\myProject\node_modules\protractor\lib\et.js:392:21)
          at [object Object].self.(anonymous function) [as getAttribute] (C:\Users\stramema\projects\myProject\node_modules\protr\lib\element.js:76:19)
          at [object Object].self.(anonymous function) [as getAttribute] (C:\Users\stramema\projects\myProject\node_modules\protr\lib\element.js:721:11)
          at C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-descripview.po.js:57:32
          at C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdrive720:12
          at [object Object].promise.ControlFlow.runInFrame_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_es/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
          at [object Object].promise.ControlFlow.runEventLoop_ (C:/Users/stramema/projects/myProject/node_modules/protractor/nodules/selenium-webdriver/lib/goog/../webdriver/promise.js:1729:8)
          at [object Object].eval (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/oog/../webdriver/promise.js:2043:12)
          at goog.async.run.processWorkQueue (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\seleniumriver\lib\goog\async\run.js:130:15)
      From: Task: <anonymous>
          at [object Object].pollCondition [as _onTimeout] (C:/Users/stramema/projects/myProject/node_modules/protractor/node_mo/selenium-webdriver/lib/goog/../webdriver/promise.js:1614:14)
      From: Task: <anonymous wait>
          at [object Object].promise.ControlFlow.wait (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modulesnium-webdriver/lib/goog/../webdriver/promise.js:1606:15)
          at [object Object].webdriver.WebDriver.wait (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modulesnium-webdriver\lib\webdriver\webdriver.js:716:21)
          at [object Object].to.(anonymous function) [as wait] (C:\Users\stramema\projects\myProject\node_modules\protractor\libractor.js:65:25)
          at [object Object].that.waitForPhotoUpdate (C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-\program-description\program-description-view.po.js:56:20)
          at C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-descripview.spec.js:74:12
          at [object Object].promise.ControlFlow.runInFrame_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_es/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
          at [object Object].goog.defineClass.notify (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/ium-webdriver/lib/goog/../webdriver/promise.js:2448:25)
          at [object Object].promise.Promise.notify_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/ium-webdriver/lib/goog/../webdriver/promise.js:564:12)
          at Array.forEach (native)
          at [object Object].promise.Promise.notifyAll_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modullenium-webdriver/lib/goog/../webdriver/promise.js:553:15)
      From: Task: Run it("should upload program image, verify upload, and delete program image") in control flow
      From asynchronous test:
      Error
          at Suite.<anonymous> (C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-descriptrogram-description-view.spec.js:64:3)
          at Object.<anonymous> (C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-descripprogram-description-view.spec.js:3:1)
          at Module._compile (module.js:460:26)
          at Object.Module._extensions..js (module.js:478:10)
          at Module.load (module.js:355:32)
          at Function.Module._load (module.js:310:12)
// Relevant test code

// program-description-view.spec.js
it('should upload program image, verify upload, and delete program image', function (done) {
    var fileToUpload = '../../../../data/testProgramImage.jpg';

    var absolutePath = path.resolve(__dirname, fileToUpload);

    browser.executeScript('$(\'.program-image-container .upload-btn input[type="file"]\').attr("style", "");').then(function () {
      view.fileSelector.sendKeys(absolutePath);

      view.assertUserPhoto(view.defaultProgramImageUrlFragment);

      view.waitForPhotoUpdate(view.uploadedProgramImageUrlFragment).then(function () {
        view.assertUserPhoto(view.uploadedProgramImageUrlFragment);

        view.programImageDeleteBtn.click();

        view.waitForPhotoUpdate(view.defaultProgramImageUrlFragment);

        view.assertUserPhoto(view.defaultProgramImageUrlFragment);

        done();
      });
    });
  });

//program-description-view.po.js
that.assertUserPhoto = function (imageUrlFragment) {
    expect(that.programImage.getAttribute('src')).toContain(imageUrlFragment);
  };
that.waitForPhotoUpdate = function (expectedPhoto) {
    browser.ignoreSynchronization = true;

    return browser.wait(function () {
      return that.programImage.getAttribute('src').then(function (src) {
        return (src.indexOf(expectedPhoto) > 0);
      });
    }, 30000).thenFinally(function () {
      browser.ignoreSynchronization = false;
    });
  };
NickTomlin commented 8 years ago

Interesting. This works normally when running all tests?

stramel commented 8 years ago

@NickTomlin That's correct. However, it appears that protractor-flake is using selenium server instead of chromedriver directly? I think my CI server is running selenium as well though.

success

UPDATE: I got the test to pass and run by itself after it retried a few times. directConnect: true or selenium server didn't seem to affect the results.

Just strange that it would hang when running all tests.

stramel commented 8 years ago

Here is the results of 2 test runs focused to the file containing the hanging test:

stramema@M47Z0V52 MINGW64 /c/Users/stramema/projects/myProject (develop)
$ node rp.js
Starting selenium standalone server...
[launcher] Running 1 instances of WebDriver
Selenium standalone server started at http://156.45.40.192:50576/wd/hub
Spec started

  E2E: New Program Setup Description View
    ✓ should display section header
    ✓ should display Program Name header
    ✓ should display Program Name input
    ✓ should display Short Description header
    ✓ should display Short Description input
    ✓ should display Long Description header
    ✓ should display Long Description input
    ✓ should upload program image, verify upload, and delete program image

Executed 8 of 765 specs SUCCESS (757 SKIPPED) in 27 secs.
Shutting down selenium standalone server.
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 passed

stramema@M47Z0V52 MINGW64 /c/Users/stramema/projects/myProject (develop)
$ node rp.js
Starting selenium standalone server...
[launcher] Running 1 instances of WebDriver
Selenium standalone server started at http://156.45.40.192:51325/wd/hub
Spec started

  E2E: New Program Setup Description View
    ✓ should display section header
    ✓ should display Program Name header
    ✓ should display Program Name input
    ✓ should display Short Description header
    ✓ should display Short Description input
    ✓ should display Long Description header
    ✓ should display Long Description input
    ✗ should upload program image, verify upload, and delete program image
      - Failed: stale element reference: element is not attached to the page document
  (Session info: chrome=47.0.2526.106)
  (Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 16 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'M47Z0V52', ip: '156.45.40.192', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_55'
Session ID: a5b590bc978b1b2fb1169683ce1f74ff
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\stramema\AppData\Local\Temp\scoped_dir2392_14580}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=47.0.2526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]
        (Session info: chrome=47.0.2526.106)
        (Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
      Command duration or timeout: 16 milliseconds
      For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
      Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
      System info: host: 'M47Z0V52', ip: '156.45.40.192', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_55'
      Session ID: a5b590bc978b1b2fb1169683ce1f74ff
      Driver info: org.openqa.selenium.chrome.ChromeDriver
      Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\stramema\AppData\Local\Temp\scoped_dir2392_14580}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=47.0.2526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]
          at new bot.Error (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:108:18)
          at Object.bot.response.checkResponse (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\response.js:109:9)
          at C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:379:20
          at [object Object].promise.ControlFlow.runInFrame_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
          at [object Object].goog.defineClass.notify (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2448:25)
          at [object Object].promise.Promise.notify_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:564:12)
          at Array.forEach (native)
          at [object Object].promise.Promise.notifyAll_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:553:15)
          at goog.async.run.processWorkQueue (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:130:15)
          at runMicrotasksCallback (node.js:337:7)
      Error
          at [object Object].ElementArrayFinder.applyAction_ (C:\Users\stramema\projects\myProject\node_modules\protractor\lib\element.js:392:21)
          at [object Object].self.(anonymous function) [as getAttribute] (C:\Users\stramema\projects\myProject\node_modules\protractor\lib\element.js:76:19)
          at [object Object].self.(anonymous function) [as getAttribute] (C:\Users\stramema\projects\myProject\node_modules\protractor\lib\element.js:721:11)
          at C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.po.js:57:32
          at C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:720:12
          at [object Object].promise.ControlFlow.runInFrame_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
          at [object Object].promise.ControlFlow.runEventLoop_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1729:8)
          at [object Object].eval (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2043:12)
          at goog.async.run.processWorkQueue (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:130:15)
      From: Task: <anonymous>
          at [object Object].pollCondition [as _onTimeout] (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1614:14)
      From: Task: <anonymous wait>
          at [object Object].promise.ControlFlow.wait (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1606:15)
          at [object Object].webdriver.WebDriver.wait (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:716:21)
          at [object Object].to.(anonymous function) [as wait] (C:\Users\stramema\projects\myProject\node_modules\protractor\lib\protractor.js:65:25)
          at [object Object].that.waitForPhotoUpdate (C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.po.js:56:20)
          at C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.spec.js:74:12
          at [object Object].promise.ControlFlow.runInFrame_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
          at [object Object].goog.defineClass.notify (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2448:25)
          at [object Object].promise.Promise.notify_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:564:12)
          at Array.forEach (native)
          at [object Object].promise.Promise.notifyAll_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:553:15)
      From: Task: Run it("should upload program image, verify upload, and delete program image") in control flow
      From asynchronous test:
      Error
          at Suite.<anonymous> (C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.spec.js:64:3)
          at Object.<anonymous> (C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.spec.js:3:1)
          at Module._compile (module.js:460:26)
          at Object.Module._extensions..js (module.js:478:10)
          at Module.load (module.js:355:32)
          at Function.Module._load (module.js:310:12)

**************************************************
*                    Failures                    *
**************************************************

1) E2E: New Program Setup Description View should upload program image, verify upload, and delete program image
  - Failed: stale element reference: element is not attached to the page document
  (Session info: chrome=47.0.2526.106)
  (Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 16 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'M47Z0V52', ip: '156.45.40.192', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_55'
Session ID: a5b590bc978b1b2fb1169683ce1f74ff
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\stramema\AppData\Local\Temp\scoped_dir2392_14580}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=47.0.2526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]

Executed 8 of 765 specs (1 FAILED) (757 SKIPPED) in 25 secs.
Shutting down selenium standalone server.
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 1 test(s)
[launcher] overall: 1 failed spec(s)
[launcher] Process exited with error code 1
Re-running tests: test attempt 2
Re-running the following test files:
C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.spec.js
Starting selenium standalone server...
[launcher] Running 1 instances of WebDriver
Selenium standalone server started at http://156.45.40.192:58957/wd/hub
Spec started

  E2E: New Program Setup Description View
    ✓ should display section header
    ✓ should display Program Name header
    ✓ should display Program Name input
    ✓ should display Short Description header
    ✓ should display Short Description input
    ✓ should display Long Description header
    ✓ should display Long Description input
    ✗ should upload program image, verify upload, and delete program image
      - Failed: stale element reference: element is not attached to the page document
  (Session info: chrome=47.0.2526.106)
  (Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 16 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'M47Z0V52', ip: '156.45.40.192', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_55'
Session ID: 77a740e29d1b90ec4bdcf64d3b16ce9e
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\stramema\AppData\Local\Temp\scoped_dir10332_28415}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=47.0.2526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]
        (Session info: chrome=47.0.2526.106)
        (Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
      Command duration or timeout: 16 milliseconds
      For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
      Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
      System info: host: 'M47Z0V52', ip: '156.45.40.192', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_55'
      Session ID: 77a740e29d1b90ec4bdcf64d3b16ce9e
      Driver info: org.openqa.selenium.chrome.ChromeDriver
      Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\stramema\AppData\Local\Temp\scoped_dir10332_28415}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=47.0.2526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]
          at new bot.Error (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:108:18)
          at Object.bot.response.checkResponse (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\response.js:109:9)
          at C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:379:20
          at [object Object].promise.ControlFlow.runInFrame_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
          at [object Object].goog.defineClass.notify (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2448:25)
          at [object Object].promise.Promise.notify_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:564:12)
          at Array.forEach (native)
          at [object Object].promise.Promise.notifyAll_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:553:15)
          at goog.async.run.processWorkQueue (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:130:15)
          at runMicrotasksCallback (node.js:337:7)
      Error
          at [object Object].ElementArrayFinder.applyAction_ (C:\Users\stramema\projects\myProject\node_modules\protractor\lib\element.js:392:21)
          at [object Object].self.(anonymous function) [as getAttribute] (C:\Users\stramema\projects\myProject\node_modules\protractor\lib\element.js:76:19)
          at [object Object].self.(anonymous function) [as getAttribute] (C:\Users\stramema\projects\myProject\node_modules\protractor\lib\element.js:721:11)
          at C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.po.js:57:32
          at C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:720:12
          at [object Object].promise.ControlFlow.runInFrame_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
          at [object Object].promise.ControlFlow.runEventLoop_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1729:8)
          at [object Object].eval (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2043:12)
          at goog.async.run.processWorkQueue (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:130:15)
      From: Task: <anonymous>
          at [object Object].pollCondition [as _onTimeout] (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1614:14)
      From: Task: <anonymous wait>
          at [object Object].promise.ControlFlow.wait (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1606:15)
          at [object Object].webdriver.WebDriver.wait (C:\Users\stramema\projects\myProject\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:716:21)
          at [object Object].to.(anonymous function) [as wait] (C:\Users\stramema\projects\myProject\node_modules\protractor\lib\protractor.js:65:25)
          at [object Object].that.waitForPhotoUpdate (C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.po.js:56:20)
          at C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.spec.js:74:12
          at [object Object].promise.ControlFlow.runInFrame_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
          at [object Object].goog.defineClass.notify (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2448:25)
          at [object Object].promise.Promise.notify_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:564:12)
          at Array.forEach (native)
          at [object Object].promise.Promise.notifyAll_ (C:/Users/stramema/projects/myProject/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:553:15)
      From: Task: Run it("should upload program image, verify upload, and delete program image") in control flow
      From asynchronous test:
      Error
          at Suite.<anonymous> (C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.spec.js:64:3)
          at Object.<anonymous> (C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.spec.js:3:1)
          at Module._compile (module.js:460:26)
          at Object.Module._extensions..js (module.js:478:10)
          at Module.load (module.js:355:32)
          at Function.Module._load (module.js:310:12)

**************************************************
*                    Failures                    *
**************************************************

1) E2E: New Program Setup Description View should upload program image, verify upload, and delete program image
  - Failed: stale element reference: element is not attached to the page document
  (Session info: chrome=47.0.2526.106)
  (Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 16 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'M47Z0V52', ip: '156.45.40.192', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_55'
Session ID: 77a740e29d1b90ec4bdcf64d3b16ce9e
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\stramema\AppData\Local\Temp\scoped_dir10332_28415}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=47.0.2526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]

Executed 8 of 8 specs (1 FAILED) in 25 secs.
Shutting down selenium standalone server.
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 1 test(s)
[launcher] overall: 1 failed spec(s)
[launcher] Process exited with error code 1
Re-running tests: test attempt 3
Re-running the following test files:
C:\Users\stramema\projects\myProject\e2e\admin\programs-route\new-program-setup\program-description\program-description-view.spec.js
Starting selenium standalone server...
[launcher] Running 1 instances of WebDriver
Selenium standalone server started at http://156.45.40.192:56202/wd/hub
Spec started

  E2E: New Program Setup Description View
    ✓ should display section header
    ✓ should display Program Name header
    ✓ should display Program Name input
    ✓ should display Short Description header
    ✓ should display Short Description input
    ✓ should display Long Description header
    ✓ should display Long Description input
    ✓ should upload program image, verify upload, and delete program image

Executed 8 of 8 specs SUCCESS in 30 secs.
Shutting down selenium standalone server.
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 passed

When focused it seems to eventually pass, however when running the entire suite it consistently fails at the test listed. Possibly a protractor or chromedriver issue?

NickTomlin commented 8 years ago

Yeah this sounds more like protractor or chromedriver. All protractor flake does is re-run the protractor process, so it shouldn't interfere with your test.

One wild thought: perhaps theres some state in your tests that creates a situation where this will fail deterministically ?

stramel commented 8 years ago

Alright, well I will go ahead and close this until I check Protractor, chromedriver, and the tests a bit more thoroughly. Thanks for your help!

NickTomlin commented 8 years ago

Thanks for checking in! Good luck!