量角器POM方法无法识别

时间:2020-07-22 14:49:03

标签: protractor jasmine2.0

spec.js

 if(a == b){ yes_they_are_same! }

home_page.js

describe('Testing an animal adoption flow using page object', function() {
     
    beforeEach(function() {
        browser.get('http://www.thetestroom.com/jswebapp/index.html');
    });
     
    var home_page = require('./pages/home_page.js');
    it ('Should be able to adopt an animal by page object', function() {
        home_page.enterName('Blabla');
        expect(home_page.getDynamicText()).toBe('Blabla');
        var animal_page = home_page.clickContinue();
         
        animal_page.selectAnimal(1);
        var confirm_page = animal_page.clickContinue();
         
        expect(confirm_page.getTitle()).toContain('Thank');
    });
});

故障:

  1. 使用页面对象测试动物的收养流程
require('./animal_page.js');
 
var home_page = function() {
     
    this.nameTextBox = element(by.model('person.name'));
    this.dynamicText = element(by.binding('person.name'));
    this.continueButton = element(by.buttonText('CONTINUE'));
     
    this.enterName = function(name) {
        this.nameTextBox.sendKeys(name);
    };
     
    this.getDynamicText = function() {
        return this.dynamicText.getText();
    };
     
    this.clickContinue = function() {
        this.continueButton.click();
        return require('./animal_page.js');
    };
};

2 个答案:

答案 0 :(得分:0)

您不会使用new关键字创建构造函数的实例。应该是

var home_page = new (require('./pages/home_page.js'));

您需要指示js您要导出的内容,因此您的首页应该是

require('./animal_page.js');

var home_page = function() {

this.nameTextBox = element(by.model('person.name'));
this.dynamicText = element(by.binding('person.name'));
this.continueButton = element(by.buttonText('CONTINUE'));
 
this.enterName = function(name) {
    this.nameTextBox.sendKeys(name);
};
 
this.getDynamicText = function() {
    return this.dynamicText.getText();
};
 
this.clickContinue = function() {
    this.continueButton.click();
    return require('./animal_page.js');
};
}

module.exports = home_page; // <------ this line

但请确保您对animal_page

执行相同操作

答案 1 :(得分:0)

我得到了答案,我们需要包括

spec.js
const { browser } = require('protractor');

home_page.js
module.exports = new home_page(); 
相关问题