如何使用页面对象创建可重用的组件

时间:2017-06-07 17:44:13

标签: protractor pageobjects

我有一个文本框微调器控件和一些针对它的验证。

此文本框微调器控件用于n个页面,我需要检查相同的验证。

所以我想创建一个页面spinnertextbox.js并在其他页面中调用它。 所以我的困惑是如何从测试规范文件中访问此spinnertextbox.js。

测试规范 - >页面 - > spinnertextbox.js

我是否直接从Testspec调用了spinnertextbox.js(我认为这是错误的)。 我尝试了以下操作来跟踪测试规范到Pages的流程以及从Pages到spinnertextbox.js

的流程

以下是我实施的内容。

Spinnertextbox.js`

program
  .version('1.0.0')
  .command('get [accountId]')
  .description('retrieves account info for the specified account')
  .option('-v, --verbose', 'display extended logging information')
  .action(getAccount)
  .parse(process.argv)

if (process.argv.length < 3) {
  program.help()
}

Homepage.js - 将调用spinnertextbox.js

var txtbox = function () {


this.Up = function (upArrow) {
    upArrow.click();
};


this.Down = function (downArrow) {
    downArrow.click();
};
};

module.exports =  txtbox;

最后我的测试规范

Home.spec.js

var spinner = require('../pages/ spinnertextbox.js');
var home = function () {

var upArrow = element(by.xpath('’));


var downArrow = element(by.xpath(''));


this.spinfn = function (fun) {

    var spin = new spinner();

    switch (fun) {

        case 'uparrowclick':
            spin.Up(upArrowt);
            break;
        case 'downarrowclick':
            spin.Down(downArrow);
            break;
    }

};

};

module.exports = home;

这种方法是否可以接受,或者我的方向完全错误。

0 个答案:

没有答案