无法将页面对象传递到量角器中的spec文件

时间:2014-11-11 11:45:14

标签: protractor pageobjects

我们是Protractor的新手,正在通过代码来更好地理解其功能主义者,并与使用selenium编写测试相比。作为练习,我们尝试使用页面对象

自动化angularjs主页(http://www.angularjs.org

我们的TestSpec.js文件如下

'use strict';

  var DevelopPage = require('../test_11th/Develop_pom.js');
  describe('angularjs homepage', function () {
  var Devpage;

beforeEach(function () {
  Devpage = new DevelopPage();
});

it('Develop page should be open', function () {
  Devpage.click_develop().click();
  //Devpage.Api_Reference();
  //Devpage.func_link();
  //Devpage.search('angular');
});
});

和页面对象文件Develop_pom.js如下

'use strict';

var DevelopPage = function () {
  browser.get('http://www.angularjs.org');
};
 DevelopPage.prototype = Object.create({}, {
     click_develop: {  function () 
    {  browser.driver.findElement(By.linkText("Develop")).click(); }},

     Api_Reference: {  function () 
    {  browser.driver.findElement(By.linkText("API Reference")).click(); }},

     func_link: {  function () 
    {  browser.driver.findElement(By.linkText("function")).click(); }},

     search: { : function (txt) 
    {  element(by.model('q')).click().sendKeys(txt); }}


    });

在运行它时我们遇到了错误   1)异常加载:C:\ Users \ kirti.vm \ AppData \ Roaming \ npm \ node_modules \ protractor \ test_11th \ AngularSpec.js错误    信息:      SyntaxError:意外的令牌(    堆栈跟踪:      SyntaxError:意外的令牌(     at require(module.js:380:17)     在对象。 (C:\用户\ kirti.vm \应用程序数据\漫游\ NPM \ node_modules \量角器\ test_11th \ AngularSpec.js:4:21)

在0.012秒内完成 1次测试,1次断言,1次失败

你可以告诉我们我们出错的地方和地点。我们是否可以不使用页面对象来实现我们的测试并在spec脚本中调用这些页面对象。

1 个答案:

答案 0 :(得分:1)

您需要在文件末尾导出页面对象:

module.exports = DevelopPage;

如果您想要查看更清晰的语法,请查看以下示例:

https://github.com/angular/protractor/blob/master/website/test/e2e/api-page.js