我正在尝试创建可重用的登录功能,但是努力使其正常工作。
我有一堆specs.js需要在每次测试前登录,因此我创建了common.js(utils)文件,其中保存了所有可重用的功能。 纯js工作正常。
const moment = require('moment');
const puppeteer = require('puppeteer');
const G_CONSTS = require('./global_consts.js');
let page;
const browser = puppeteer.launch();
page = browser.newPage();
module.exports = {
unixTimeStamp: function() {
var timeStamp = moment().format('X');
return timeStamp;
},
randomNumber: function(num) {
if (!num) num = 1000;
var randNum = Math.floor((Math.random() * num) + 1);
return randNum;
},
login: function() {
console.log('trash');
page.goto(identity.serverUrl);
page.waitForSelector(G_CONSTS.USERNAME_TEXTBOX_SELECTOR);
page.waitForSelector(G_CONSTS.PASSWORD_TEXTBOX_SELECTOR);
page.type(G_CONSTS.USERNAME_TEXTBOX_SELECTOR, emailAddress);
page.type(G_CONSTS.PASSWORD_TEXTBOX_SELECTOR, CONSTS.PASSWORD);
page.click(G_CONSTS.LOGIN_BUTTON_SELECTOR);
page.waitFor(5000);
},
logout() {
page.goto(identity.serverUrl + '/logout');
page.click(G_CONSTS.LOGOUT_VERIFY_BUTTON_SELECTOR);
}
};
这是一个错误:
age = browser.newPage();
^
TypeError: browser.newPage is not a function
“ puppeteer”:“ ^ 1.0.0” 让我知道您是否对这种任务有更好的解决方案
答案 0 :(得分:0)
如果更改为此,该怎么办:
(async() => {
try{
const browser = await puppeteer.launch({headless: false //or true});
var page = await browser.newPage();
}catch(e){
console.log('error',e)
}
})();