Ищете способ писать собственные команды Puppeteer

Ранее с помощью Nightwatch.js я мог создавать собственные команды Nightwatch: https://github.com/nightwatchjs/nightwatch-docs/blob/master/guide/exnding-nightwatch/custom-commands.md

Мне интересно, существует ли что-нибудь подобное для кукловода - самое близкое, что я видел: Есть ли способ добавить скрипт для добавления новых функций в контекст Assessment () chrome + puppeeter?

Но это все еще далеко от того, что я хочу. Я хотел бы иметь возможность звонить page.commonAction(...) вместо

page.x();
page.y();
page.z();

person svey    schedule 04.04.2018    source источник
comment
способ еще не нашел?   -  person JordTheQA    schedule 06.07.2021


Ответы (1)


Вы всегда можете создать свой собственный сценарий с функциями, которые вы можете вызывать. Например, у меня есть myFunctions.js в той же папке, из которой я называю

const mf = require('./myFunctions.js');

Внутри myFunctions.js у меня есть, например, такая функция:

async function verifyElementPresent(page, selector) {
  let verifySelector = await page.$(selector);
  if (verifySelector !== null) {
    console.log(found('> OK - Element present'));
  } else {
    console.log(notfound('>>> ERROR - Element not present: ' + selector));
  }
}

Итак, теперь в моем скрипте Puppeteer все, что мне нужно сделать, это написать:

mf.verifyElementPresent(page, '#headerTitle');

И он напечатает результат в консоли.

Надеюсь это поможет.

person Nicolás A.    schedule 09.04.2018