Size: a a a

JavaScript testing

2021 November 11

M

Mike in JavaScript testing
но вполне может быть шо storageState не опция, а какая-то фикстура
источник

BO

Boris Osipov in JavaScript testing
ага. понял. посмотрел сорцы. спасибо!
источник

M

Mike in JavaScript testing
бо там есть пример по оверрайду
https://playwright.dev/docs/test-fixtures#overriding-fixtures
источник

M

Mike in JavaScript testing
и мне покаж сорцы)
источник

M

Mike in JavaScript testing
я вот пытался по их примеру ту же фикстуру заоверрайдить, но видимо я не очень вкуриваю как оно работает) в фикстуру мою, которая оверрайдит вообще не заходило
источник

A

Amazov in JavaScript testing
подскажи какой лучше метод использовать?
источник

B

Bola in JavaScript testing
findElements )
Потом в цикле дергать getText()
источник

BO

Boris Osipov in JavaScript testing
я не уверен что прям то что тебе нужно, но вот тут https://github.com/microsoft/playwright/blob/master/packages/playwright-core/src/server/browserContext.ts#L359

смотри как прикольно делают. если у тебя есть origin на который надо засетить localStorage, то они открывают его, но не реальный, а интерцептят и открывают пустой html '<html></html>' и в него сетят localstorage items.
источник

BO

Boris Osipov in JavaScript testing
ну так там в доке написано вроде. ты после того как заооверайдил, test() импортируешь в спек-файлы из файла со своей фикстурой или из '@playwright/test'?
источник

B

Bola in JavaScript testing
Забавно
источник

M

Mike in JavaScript testing
та конечно я на это первое что смотрел) импортил именно свой файл там где заоверрайдил storageState
источник

M

Mike in JavaScript testing
но кукисы которые я прокидывал так и не появлялись
источник

M

Mike in JavaScript testing
ну то ладно, я уже по другому запилил
источник

M

Mike in JavaScript testing
👍
я догадывался что дело в сетапе кукисов=) еще в вебдрайвере руками надо было домен открывать, чтобы их засетить, но про ориджин не подумал
источник

ЛВ

Лёгкий Ветерок... in JavaScript testing
Ребят, подскажите, плиз, как можно на основе 2 массивов запилить третий массив, чтобы не было кучу повторяющихся элементов. Закономерность прослеживается, и вроде как через циклы надо зафигачить, но я не пойму как. Гугл пока не помог(
источник

ЛВ

Лёгкий Ветерок... in JavaScript testing
apples = [ "m", "s"];
color = ["red", "green", "blue"];

fruits = [
{ apple: 's', color: color[0], icon: color[0] + ' s' },
{ apple: 'm', color: color[0], icon: color[0] + ' m' },
{ apple: 's', color: color[1], icon: color[1] + ' s' },
{ apple: 'm', color: color[1], icon: color[1] + ' m' },
{ apple: 's', color: color[2], icon: color[2] + ' s' },
{ apple: 's', color: color[2], icon: color[2] + ' m' },
]
источник

A

Amazov in JavaScript testing
Призодит пустой массив

Походу пуш не срабатывает-(
источник

ДП

Діма Потапов... in JavaScript testing
const fruits = [
 { apple: 's', color: 'color[0]', icon: 'color[0]' + ' s' },
 { apple: 'm', color: 'color[0]', icon: 'color[0]' + ' m' },
 { apple: 's', color: 'color[1]', icon: 'color[1]' + ' s' },
 { apple: 'm', color: 'color[1]', icon: 'color[1]' + ' m' },
 { apple: 's', color: 'color[2]', icon: 'color[2]' + ' s' },
 { apple: 's', color: 'color[2]', icon: 'color[2]' + ' m' },
];

const res = fruits.reduce(
 (acc, { color, apple, icon }) => {
   if (!acc.apple.includes(apple)) {
     acc.apple.push(apple);
   }
   if (!acc.color.includes(color)) {
     acc.color.push(color);
   }
   if (!acc.icon.includes(icon)) {
     acc.icon.push(icon);
   }
   return acc;
 },
 { apple: [], color: [], icon: [] },
);

console.log(res);

?
источник

BO

Boris Osipov in JavaScript testing
ну работает как бы. https://github.com/BorisOsipov/testcookiesfixture
источник

ЛВ

Лёгкий Ветерок... in JavaScript testing
Спасибо большое, попробую)
источник