wait for the message to be sent

This commit is contained in:
Bruno Windels 2018-09-11 18:28:50 +02:00
parent 40577109c2
commit 4a4b1f65aa
6 changed files with 37 additions and 40 deletions

View file

@ -58,9 +58,10 @@ class Logger {
}
module.exports = class RiotSession {
constructor(browser, page, username, riotserver) {
constructor(browser, page, username, riotserver, hsUrl) {
this.browser = browser;
this.page = page;
this.hsUrl = hsUrl;
this.riotserver = riotserver;
this.username = username;
this.consoleLog = new LogBuffer(page, "console", (msg) => `${msg.text()}\n`);
@ -72,14 +73,14 @@ module.exports = class RiotSession {
this.log = new Logger(this.username);
}
static async create(username, puppeteerOptions, riotserver) {
static async create(username, puppeteerOptions, riotserver, hsUrl) {
const browser = await puppeteer.launch(puppeteerOptions);
const page = await browser.newPage();
await page.setViewport({
width: 1280,
height: 800
});
return new RiotSession(browser, page, username, riotserver);
return new RiotSession(browser, page, username, riotserver, hsUrl);
}
async tryGetInnertext(selector) {
@ -161,6 +162,22 @@ module.exports = class RiotSession {
return await this.queryAll(selector);
}
waitForReload(timeout = 5000) {
return new Promise((resolve, reject) => {
const timeoutHandle = setTimeout(() => {
this.browser.removeEventListener('domcontentloaded', callback);
reject(new Error(`timeout of ${timeout}ms for waitForReload elapsed`));
}, timeout);
const callback = async () => {
clearTimeout(timeoutHandle);
resolve();
};
this.page.once('domcontentloaded', callback);
});
}
waitForNewPage(timeout = 5000) {
return new Promise((resolve, reject) => {
const timeoutHandle = setTimeout(() => {