等待页面加载超时

时间:2014-06-11 15:03:13

标签: angularjs selenium phantomjs protractor

这是我的conf文件:

// An example configuration file.
exports.config = {
  // The address of a running selenium server.
  seleniumAddress: 'http://localhost:4444/wd/hub',

  // Capabilities to be passed to the webdriver instance.
  capabilities: {
    'browserName': 'phantomjs',
    'phantomjs.binary.path': 'C:/Users/MY_USER_NAME/AppData/Roaming/npm/node_modules/phantomjs/phantomjs.exe'
  },

  // Spec patterns are relative to the current working directly when
  // protractor is called.
  specs: ['example_spec.js'],

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000
  }
};

这是我的example_spec.js文件

describe('angularjs homepage', function() {
  it('should greet the named user', function() {
    browser.get('http://www.angularjs.org');

    element(by.model('yourName')).sendKeys('Julie');

    var greeting = element(by.binding('yourName'));

    expect(greeting.getText()).toEqual('Hello Julie!');
  });
});  

当我运行它时,我总是收到错误:

Error: Timed out waiting for page to load Wait timed out after 10129ms

如果我切换到测试只是chrome它工作正常,但我似乎无法让phantomjs工作。我有最新版本的phantomjs和量角器,刚刚安装完毕。

1 个答案:

答案 0 :(得分:4)

原来有两件事情发生了。

1)angularjs网站只是不想工作

2)如果没有一个默认设置,你需要用phantomjs设置浏览器分辨率:browser.driver.manage().window().setSize(1124, 850);

我在每个人面前跑了这个:

beforeEach(function(){
    browser.driver.manage().window().setSize(1124, 850);
});

然后我开始通过测试。