Size: a a a

JavaScript testing

2020 November 25

OK

Oleksandr Khotemskyi in JavaScript testing
Filipp Terekhov
Смотрю в дебаггере, реально интересно. Формально порядок не нарушается в
       it('Doing something', async () => {
          foo = await module.getfoo(bar);
          console.log(foo);
});

breakpoint сначала на foo=... . Но потом брекпоинт из console.log, а потом уже брекпоинты внутри getfoo. Т.е. до получения результата getfoo() уже происходит вывод в консоль
Так покажите getFoo
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Что там внутри
источник

B

Bola in JavaScript testing
А что там в getFoo?
источник

FT

Filipp Terekhov in JavaScript testing
async getQuantities(SKU: string) {
       let mapquantities = new Map();

       let inventoryQuantities = await element.all(by.xpath("..."));

       inventoryQuantities.forEach(async function (item, index, array) {
           let location = await item.element(by.xpath("...")).getText();
           let quantity = await item.element(by.xpath("...")).getText();
           mapquantities.set(location, quantity);
       });

       return mapquantities;
   };

и все
источник

НБ

Никита Белов... in JavaScript testing
mkots
А можно в хроме заблочить Метод реквеста как-то?
Например есть один эндпоинт \user и у него есть 2 метода post и delete. Можно как-то заблочить делит а пост оставить?
можно заблочить через BurpSuite, если трафик браузера пустить через его прокси
источник

AP

Alexander Popov in JavaScript testing
Filipp Terekhov
async getQuantities(SKU: string) {
       let mapquantities = new Map();

       let inventoryQuantities = await element.all(by.xpath("..."));

       inventoryQuantities.forEach(async function (item, index, array) {
           let location = await item.element(by.xpath("...")).getText();
           let quantity = await item.element(by.xpath("...")).getText();
           mapquantities.set(location, quantity);
       });

       return mapquantities;
   };

и все
а ты евейт не пропустил?
источник

FT

Filipp Terekhov in JavaScript testing
Alexander Popov
а ты евейт не пропустил?
в вызове getQuantities? Нет.
initialquantities = await inventory.getQuantities(autotestProduct.SKU);            console.log(initialquantities);
источник

AP

Alexander Popov in JavaScript testing
Filipp Terekhov
в вызове getQuantities? Нет.
initialquantities = await inventory.getQuantities(autotestProduct.SKU);            console.log(initialquantities);
inventoryQuantities.forEach(async function
источник

AP

Alexander Popov in JavaScript testing
а тут ни надо?
источник

FT

Filipp Terekhov in JavaScript testing
inventoryQuantities.forEach(async function (item, index, array) {
источник

FT

Filipp Terekhov in JavaScript testing
Или в смысле "убери"?
источник

AP

Alexander Popov in JavaScript testing
let inventoryQuantities = await element.all(by.xpath("..."));

а тут лишний похоже
источник

FT

Filipp Terekhov in JavaScript testing
Сейчас проверю, но вроде бы так не работало
источник

AP

Alexander Popov in JavaScript testing
Filipp Terekhov
inventoryQuantities.forEach(async function (item, index, array) {
в смысле у тебя итератор который форичом маппит ( зачем? ) елементы через асинк функцию
источник

FT

Filipp Terekhov in JavaScript testing
потому что иначе я получал promise, насколько помню
источник

FT

Filipp Terekhov in JavaScript testing
Если убрать, я получаю в консоли  Map {
 ElementFinder {
   browser_: ProtractorBrowser {
     controlFlow: [Function],
источник

m

mkots in JavaScript testing
Никита Белов
можно заблочить через BurpSuite, если трафик браузера пустить через его прокси
им и заблочил в итоге, но это плохое решение, мне нужно мануалам рассказать как протестить негативный кейс, а барп сложный)
источник

НБ

Никита Белов... in JavaScript testing
mkots
им и заблочил в итоге, но это плохое решение, мне нужно мануалам рассказать как протестить негативный кейс, а барп сложный)
да он не сложный . дело привычки.
источник

B

Bola in JavaScript testing
Filipp Terekhov
async getQuantities(SKU: string) {
       let mapquantities = new Map();

       let inventoryQuantities = await element.all(by.xpath("..."));

       inventoryQuantities.forEach(async function (item, index, array) {
           let location = await item.element(by.xpath("...")).getText();
           let quantity = await item.element(by.xpath("...")).getText();
           mapquantities.set(location, quantity);
       });

       return mapquantities;
   };

и все
Не нравится мне forEach. А что возвращает elements.all?
источник

VM

Vasiliy Mazo in JavaScript testing
mkots
им и заблочил в итоге, но это плохое решение, мне нужно мануалам рассказать как протестить негативный кейс, а барп сложный)
Вот еще что нашлось, сам не тестил.
For example, sometimes we need to show data via GET requests, but don't want to make modifications via POST requests, so we just block the POST ones and keep the GET ones.
https://chrome.google.com/webstore/detail/request-x/cblonkdlnemhdeefhmaoiijjaedcphbf?hl=en
источник