Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

"Detected a page unload event" error in phantom.js #85

Closed
@alexgorbatchev

Description

@alexgorbatchev

Trying to run "onMocha.js" example with phantomjs or chromedriver doesn't seem to work.

Here's the code, I only changed webdriver.Capabilities.chrome() to webdriver.Capabilities.phantomjs() and expect.js to chai

/**
 * This example shows how to use the protractor library in a Mocha test.
 * It assumes that a selenium server is running at localhost:4444.
 * Run this test with:
 *   mocha onMocha.js
 */

var util = require('util');
var expect = require('chai').expect;
var webdriver = require('selenium-webdriver');
var protractor = require('../lib/protractor.js');

describe('angularjs.org homepage', function() {
  this.timeout(80000);

  var driver, ptor;

  before(function() {
    driver = new webdriver.Builder().
        withCapabilities(webdriver.Capabilities.phantomjs()).build();

    driver.manage().timeouts().setScriptTimeout(10000);
    ptor = protractor.wrapDriver(driver);
  });

  after(function(done) {
    driver.quit().then(function() {done()});
  })

  it('should greet using binding', function(done) {
    ptor.get('http://www.angularjs.org');

    ptor.findElement(protractor.By.input('yourName')).sendKeys('Julie');

    ptor.findElement(protractor.By.binding('{{yourName}}')).
        getText().then(function(text) {
          expect(text).to.eql('Hello Julie!');
          done();
        });
  });

  ... snip
});

Here's the error

Uncaught UnknownError: Error Message => 'Detected a page unload event; asynchronous script execution does not work across page loads.'
 caused by Request => {"headers":{"Accept":"application/json; charset=utf-8","Connection":"keep-alive","Content-Length":"425","Content-Type":"application/json;charset=UTF-8","Host":"192.168.128.240:56087"},"httpVersion":"1.1","method":"POST","post":"{\"script\":\"return (function () {\\n  var attempts = arguments[0];\\n  var callback = arguments[arguments.length - 1];\\n  var check = function(n) {\\n    if (window.angular && window.angular.resumeBootstrap) {\\n      callback(true);\\n    } else if (n < 1) {\\n      callback(false);\\n    } else {\\n      window.setTimeout(function() {check(n - 1)}, 1000);\\n    }\\n  };\\n  check(attempts);\\n}).apply(null, arguments);\",\"args\":[10]}","url":"/execute_async","urlParsed":{"anchor":"","query":"","file":"execute_async","directory":"/","path":"/execute_async","relative":"/execute_async","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/execute_async","queryKey":{},"chunks":["execute_async"]},"urlOriginal":"/session/e2dbebc0-1b3f-11e3-84c0-67b730e3988e/execute_async"}
      at new bot.Error (./node_modules/selenium-webdriver/lib/atoms/error.js:109:18)
      at Object.bot.response.checkResponse (./node_modules/selenium-webdriver/lib/atoms/response.js:106:9)
      at ./node_modules/selenium-webdriver/lib/webdriver/webdriver.js:275:20
      at ./node_modules/selenium-webdriver/lib/goog/base.js:1178:15
      at webdriver.promise.ControlFlow.runInNewFrame_ (./node_modules/selenium-webdriver/lib/webdriver/promise.js:1438:20)
      at notify (./node_modules/selenium-webdriver/lib/webdriver/promise.js:328:12)
      at notifyAll (./node_modules/selenium-webdriver/lib/webdriver/promise.js:297:7)
      at fulfill (./node_modules/selenium-webdriver/lib/webdriver/promise.js:402:7)
      at ./node_modules/selenium-webdriver/lib/webdriver/promise.js:1305:10
      at ./node_modules/selenium-webdriver/lib/goog/base.js:1178:15
      at webdriver.promise.ControlFlow.runInNewFrame_ (./node_modules/selenium-webdriver/lib/webdriver/promise.js:1438:20)
      at notify (./node_modules/selenium-webdriver/lib/webdriver/promise.js:328:12)
      at notifyAll (./node_modules/selenium-webdriver/lib/webdriver/promise.js:297:7)
      at fulfill (./node_modules/selenium-webdriver/lib/webdriver/promise.js:402:7)
      at ./node_modules/selenium-webdriver/lib/goog/base.js:1178:15
      at webdriver.promise.ControlFlow.runInNewFrame_ (./node_modules/selenium-webdriver/lib/webdriver/promise.js:1438:20)
      at notify (./node_modules/selenium-webdriver/lib/webdriver/promise.js:328:12)
      at notifyAll (./node_modules/selenium-webdriver/lib/webdriver/promise.js:297:7)
      at fulfill (./node_modules/selenium-webdriver/lib/webdriver/promise.js:402:7)
      at ./node_modules/selenium-webdriver/lib/webdriver/promise.js:607:51
      at ./node_modules/selenium-webdriver/lib/webdriver/http/http.js:96:5
      at IncomingMessage.<anonymous> (./node_modules/selenium-webdriver/http/index.js:113:7)
      at IncomingMessage.EventEmitter.emit (events.js:117:20)
      at _stream_readable.js:895:16
      at process._tickCallback (node.js:415:13)
  ==== async task ====
  WebDriver.executeScript()
      at webdriver.WebDriver.schedule (./node_modules/selenium-webdriver/lib/webdriver/webdriver.js:266:15)
      at webdriver.WebDriver.executeAsyncScript (./node_modules/selenium-webdriver/lib/webdriver/webdriver.js:506:15)
      at Protractor.get (./node_modules/protractor/lib/protractor.js:556:15)
      at Context.<anonymous> (./node_modules/protractor/example/onMocha.js:32:10)
      at Test.Runnable.run (./node_modules/protractor/node_modules/mocha/lib/runnable.js:194:15)
      at Runner.runTest (./node_modules/protractor/node_modules/mocha/lib/runner.js:355:10)
      at ./node_modules/protractor/node_modules/mocha/lib/runner.js:401:12
      at next (./node_modules/protractor/node_modules/mocha/lib/runner.js:281:14)
      at ./node_modules/protractor/node_modules/mocha/lib/runner.js:290:7
      at next (./node_modules/protractor/node_modules/mocha/lib/runner.js:234:23)
      at Object._onImmediate (./node_modules/protractor/node_modules/mocha/lib/runner.js:258:5)
      at processImmediate [as _immediateCallback] (timers.js:317:15)

phantom

> phantomjs --version                                                                                                                                                                                            
1.9.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions