Size: a a a

2020 July 27

VB

Vitalii Budniak in JS for testing
export const serial = funcs => funcs.reduce(
 (promise, func) => promise.then(result => func().then(Array.prototype.concat.bind(result))),
 Promise.resolve([]),
);
источник

VB

Vitalii Budniak in JS for testing
и потом например так можно юзать:
источник

VB

Vitalii Budniak in JS for testing
const tabs = ['1', '2', '3', '4', '5', '6'];
 const promiseJobs = tabs.map(tab => async () => {
   await clickElementXpath(divText(tab));
  //////////
 });''
 await serial(promiseJobs);
источник

DP

Dmitry Pakhilov in JS for testing
describe.each is not a function
источник

VB

Vitalii Budniak in JS for testing
Dmitry Pakhilov
describe.each is not a function
Jest? версия?
источник

DP

Dmitry Pakhilov in JS for testing
mocha 8
источник

VB

Vitalii Budniak in JS for testing
В Mocha нету describe.each
источник

DP

Dmitry Pakhilov in JS for testing
ok проверю с jest
источник

VB

Vitalii Budniak in JS for testing
Jest 100% есть
источник

VB

Vitalii Budniak in JS for testing
V23+
источник

VB

Vitalii Budniak in JS for testing
можно еще с promiseJobs я писал выше
источник

DP

Dmitry Pakhilov in JS for testing
Вот что в итоге получилось и работает - Jest

const arr = require("./helper.js");
const puppeteer = require("puppeteer");

let browser;
let page;
describe.each(arr)("Check Each URL", (url) => {
 beforeEach(async function () {
   browser = await puppeteer.launch({
     headless: false,
     devtools: false,
     slowMo: 100,
   });
   page = await browser.newPage();
   await page.setDefaultNavigationTimeout(0);
   await page.goto(${url}, { waitUntil: "networkidle2" });
 });
 afterEach(async function () {
   await browser.close();
 });

 it(Test for backdor https, async () => {
   await page.waitForSelector("h2");
   const element = await page.$("h2");
   const text = await page.evaluate((element) => element.textContent, element);
   let err = expect(text).toMatch("404 - File or directory not found.");
 });
});

arr лежит в файле helper.js
который выглядит так
module.exports = ["url", "url1", ......]
источник

DP

Dmitry Pakhilov in JS for testing
slowMo - можно удалить
источник

B

Bola in JS for testing
А нужно ли браузер запускать перед каждым урлом?
источник

B

Bola in JS for testing
Я бы сделал:
describe
beforeAll // создал браузер
afterAll // убил
it.each // прошёлся по урлам
источник

B

Bola in JS for testing
Либо:
describe
beforeAll // создал браузер
afterAll // убил
afterEach // почистил куки, сторидж
it.each // прошёлся по урлам
источник

DP

Dmitry Pakhilov in JS for testing
да с afteral в два раза ускорился.
источник

P

Paul G in JS for testing
Всем привет
источник

P

Paul G in JS for testing
есть пользователи testcomplete?
источник

RO

Roman Olshevski in JS for testing
Paul G
есть пользователи testcomplete?
Есть
источник