量角器:undefined:Stacktrace

时间:2014-02-04 13:28:33

标签: javascript angularjs testing selenium-webdriver protractor

我正在尝试基于量角器的角度js测试。我现在拥有的堆栈跟踪是

Starting selenium standalone server...
Selenium standalone server started at http://192.168.0.150:51197/wd/hub
F

Failures:

  1) E2E: The Dashboard : Main Page should have a working dashboard
   Message:
     timeout: timed out after 5000 msec waiting for spec to complete
   Stacktrace:
     undefined

Finished in 5.659 seconds
1 test, 1 assertion, 1 failure

关闭selenium独立服务器。 这是我的spec.js

describe('E2E: Open Login Page', function() {
  var driver = browser.driver;
  driver.get('http://localhost:8080/accounts/login/?next=/dashboard/')
  driver.findElement(By.name("username")).sendKeys("user");
  driver.findElement(By.name("password")).sendKeys('password');
  //driver.findElement(By.xpath("\\button[]")
  driver.findElement(By.xpath("//button[contains(text(), 'Login')]")).click();
});

describe('E2E: The Dashboard', function() {
  var ptor = protractor.getInstance();

  describe(': Main Page', function() {
    it('should have a working dashboard', function() {
      ptor.get('/dashboard/#/');
      expect(ptor.getTitle()).toContain('Dashboard');
    })
  })
});

我做错了什么?在这方面的任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

确保您正在运行应用http://localhost:8080。量角器不会启动应用程序服务器,只会启动selenium服务器。

如果您必须在一个会话中完成所有操作,您可以运行如下命令:

nohup bash -c "RAILS_ENV=test bundle exec rails s &";

启动服务器(在本例中为rails测试服务器)并将输出附加到nohup.out。然后,您可以运行命令来开始量角器测试。我建议在该命令之后插入一个睡眠,以便在量角器测试开始执行之前为应用服务器提供足够的时间站起来。