3

这是我的 refenceConf.js 文件,我在规范中给出了 testapp_spec,js,我把它们都放在了同一个地方

exports.config = {
  seleniumServerJar: './selenium/selenium-server-standalone-2.35.0.jar',
  seleniumPort: null,

  chromeDriver: './selenium/chromedriver',

  seleniumArgs: [],

  sauceUser: null,
  sauceKey: null,

  seleniumAddress: null,

  specs: [
    'testapp_spec.js'
  ],

  capabilities: {
    'browserName': 'chrome'
  },

  baseUrl: 'http://localhost:8000',

  rootElement: 'body',

  onPrepare: function() {

  },

  jasmineNodeOpts: {

    onComplete: null,

    isVerbose: false,

    showColors: true,

    includeStackTrace: true,

    defaultTimeoutInterval: 30000
  }
};

这是我的 testapp_spec.js,我正在编写一个测试用例来显示主页

var util = require('util');

describe('longer example', function() {
  var ptor = protractor.getInstance();
  beforeEach(function() {
    ptor.get('../testapp/app/index.html')
  })

  it('should load the home page', function() {
    body = ptor.findElement(protractor.By.tagName('body'));
    body.isDisplayed().then(function() {
      expect(body).toBeDefined()
    })
  })
})

当我执行此操作时,我收到一个错误,例如未定义角度帮助我摆脱此错误

4

5 回答 5

2
browser.driver.get('../testapp/app/index.html')
browser.driver.findElement() 
于 2014-10-01T11:40:25.113 回答
1

您是否尝试在配置文件中更新 selenium 端口号?在此视频中推荐 - http://www.youtube.com/watch?v=idb6hOxlyb8

这对我有用(假设您正在考虑相对路径并从那里执行测试) -

// A reference configuration file.

exports.config = {
  seleniumServerJar: './selenium/selenium-server-standalone-2.35.0.jar',
  seleniumPort: 4444,
  chromeDriver: './selenium/chromedriver',

  capabilities: {
    'browserName': 'chrome'
  },

  specs: ['./spec/*_spec.js'],

  jasmineNodeOpts: {
    onComplete: null,
    isVerbose: true,
    showColors: true,
    includeStackTrace: false,
    defaultTimeoutInterval: 30000
  }
};
于 2013-10-05T20:38:01.110 回答
0

这是因为您为其编写测试的项目不是有角度的。在声明你的量角器实例后添加这个

var driver =  ptor.driver;

有了这个,您可以帮助量角器了解您的页面是非角度的,并且您正在使用 webdriver 实例来查找元素等。

希望这可以帮助。

于 2013-12-16T09:06:55.973 回答
0

确保在 /testapp/app/index.html 内的脚本标记中包含 angular js 库。并将你的身体定义为

 <body ng-app="angularAppDemo">

像这样在 index.html 中编写一个脚本......

var app=angular.module('angularAppDemo',[]);

如果有效,请告诉我。问题是量角器默认会寻找角度应用程序。由于您没有提到任何 Angular js 库,因此它会引发此错误。测试非 Angular js 应用程序并获得有关量角器的更多知识。参考这个链接

于 2014-11-05T13:21:00.563 回答
0

尝试ptor.driver.get代替ptor.get.

于 2014-01-09T13:50:50.683 回答