Protractor 如何使用页面对象创建可重用组件
我有一个文本框微调器控件和一些针对它的验证 此文本框微调器控件用于n个页面,在这些页面中,我需要检查相同的验证 所以我想创建一个spinnertextbox.js页面,并在其他页面中调用它。 所以我的困惑是如何从测试规范文件访问这个spinnertextbox.js 测试规范->页面->spinnertextbox.jsProtractor 如何使用页面对象创建可重用组件,protractor,pageobjects,Protractor,Pageobjects,我有一个文本框微调器控件和一些针对它的验证 此文本框微调器控件用于n个页面,在这些页面中,我需要检查相同的验证 所以我想创建一个spinnertextbox.js页面,并在其他页面中调用它。 所以我的困惑是如何从测试规范文件访问这个spinnertextbox.js 测试规范->页面->spinnertextbox.js var spinner = require('../pages/ spinnertextbox.js'); var home = function () { var upAr
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;
我是否直接从Testspec调用spinnertextbox.js,我觉得这是错误的。
我试着按照测试规范的流程从页面到页面,从页面到spinnertextbox.js
下面是我已经实现的
Spinnertextbox.js`
var txtbox = function () {
this.Up = function (upArrow) {
upArrow.click();
};
this.Down = function (downArrow) {
downArrow.click();
};
};
module.exports = txtbox;
Homepage.js–它将调用spinnertextbox.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;
最后是我的测试规范
Home.spec.js
var home = require('../pages/HomePage.js');
describe('reusability functionality : ', function () {
it('reusability: ', function () {
var hm = new home ();
//call to some other function in home page then
hm.spinfn('txtclick');
d hm isplaySrc.spinfn('uparrowclick');
hm.spinfn('downarrowclick');
});
});
这种方法可以接受吗?或者我完全走错了方向