Size: a a a

JavaScript testing

2020 November 18

M

Mike in JavaScript testing
Так-то я уже этот тест сделал, просто сделав везде getText(), так все отлично проходит без доп действий
источник

M

Mike in JavaScript testing
Но докопаться до разрабов все равно надо)
источник
2020 November 19

NK

ID:0 in JavaScript testing
25 ноября запланирован небольшой митап по интеграционному тестированию. Один из докладов планируется о миграции с java-стека на cypress.

Участие бесплатное при условии регистрации:
https://raiffeisen-events.timepad.ru/event/1477396/

Полное описание ивента здесь:
https://habr.com/ru/company/raiffeisenbank/blog/528938/

"В нашей команде писали тесты в BDD стиле на русском языке (Selenium/Selenide + Cucumber + Java). Казалось бы, куда еще проще и прозрачнее для команды? Однако, как только мы лишились нескольких QA, и разработчикам пришлось писать и дорабатывать тесты, — наш инструмент стал стоппером в тестировании, и BDD тут ничем не помог. В докладе расскажу, как мы опустили тестирование на дно и начали его восстанавливать."
источник

NK

ID:0 in JavaScript testing
🎭 Playwright выпустил новую версию 1.6.0

Из releasenotes:

- page.tap(). Теперь можно автоматизировать нативные тап ивенты.
- Добавили WebSocket инспектор. По словам разработчиков, Playwright первая библиотека с подобным функционалом.
- Перехват трафика и сохранение в har файлы теперь работает из коробки. Больше не нужно прикручивать дополнительные пакеты для этого.
- И последнее: Proxy для браузерных контекстов.

Весь список изменений можно найти тут: https://github.com/microsoft/playwright/releases/tag/v1.6.0
источник
2020 November 20

P

PH_cheerokee in JavaScript testing
ребят, а можно ли с помощью JEST / RTL потестить, чтобы  когда я скролю до  определенных  координат, то у  меня вызывается такая-то функция? Если да, то можно пример?
источник

FT

Filipp Terekhov in JavaScript testing
Здравствуйте! А можно ли в Protractor/Jasmine сделать условное выполнение этапов сценария, например
if(foo){
 describe('condition present'),() =>{
   it('Action1', async () => {});
   it('Action2', async () => {});
 });
}
else{
 describe('condition not present'),() =>{
   it('Action3', async () => {});
   it('Action4', async () => {});
 });
}
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Filipp Terekhov
Здравствуйте! А можно ли в Protractor/Jasmine сделать условное выполнение этапов сценария, например
if(foo){
 describe('condition present'),() =>{
   it('Action1', async () => {});
   it('Action2', async () => {});
 });
}
else{
 describe('condition not present'),() =>{
   it('Action3', async () => {});
   it('Action4', async () => {});
 });
}
да можно, но foo не должен быть промисом
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Oleksandr Khotemskyi
да можно, но foo не должен быть промисом
иначе говоря асинхронное обьявление тестов не поддерживается
источник

FT

Filipp Terekhov in JavaScript testing
Oleksandr Khotemskyi
да можно, но foo не должен быть промисом
Хм. Тогда получается прикол. После describe, но перед it, получается, promise, потому что describe('', async () =>{ выдает ошибку

И вариант

describe(...
const foo=...
if(foo){
  describe(...
     it(...
}
else{
  describe(...
     it(...
}
постоянно уходит на ветку true
А вариант
describe(...
it('bar', async () =>
const foo=...
if(foo){
  describe('baz'
     it(...
}
else{
  describe('boo'
     it(...
}
рисует зеленую галочку у bar, но не выводит вообще ни baz, ни boo
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Filipp Terekhov
Хм. Тогда получается прикол. После describe, но перед it, получается, promise, потому что describe('', async () =>{ выдает ошибку

И вариант

describe(...
const foo=...
if(foo){
  describe(...
     it(...
}
else{
  describe(...
     it(...
}
постоянно уходит на ветку true
А вариант
describe(...
it('bar', async () =>
const foo=...
if(foo){
  describe('baz'
     it(...
}
else{
  describe('boo'
     it(...
}
рисует зеленую галочку у bar, но не выводит вообще ни baz, ни boo
const foo=...

покажи вот этот кусок
источник

FT

Filipp Terekhov in JavaScript testing
const initialQuantityBin2 = initialquantities.get(MoveMergeData.bin2) || "0";
       console.log("initialQuantityBin2 " + initialQuantityBin2);
       if (initialQuantityBin2 == "0") {
источник

OK

Oleksandr Khotemskyi in JavaScript testing
describe('', async ()
не поддерживается, коллбек в describe должен быть сихронным
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Filipp Terekhov
const initialQuantityBin2 = initialquantities.get(MoveMergeData.bin2) || "0";
       console.log("initialQuantityBin2 " + initialQuantityBin2);
       if (initialQuantityBin2 == "0") {
initialquantities.get(MoveMergeData.bin2) - что возвращает get ?
источник

FT

Filipp Terekhov in JavaScript testing
Должно, это обращение к константе в другом классе. Но console.log ничего не выводит
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Filipp Terekhov
const initialQuantityBin2 = initialquantities.get(MoveMergeData.bin2) || "0";
       console.log("initialQuantityBin2 " + initialQuantityBin2);
       if (initialQuantityBin2 == "0") {
initialquantities
покажи как получил
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Filipp Terekhov
Хм. Тогда получается прикол. После describe, но перед it, получается, promise, потому что describe('', async () =>{ выдает ошибку

И вариант

describe(...
const foo=...
if(foo){
  describe(...
     it(...
}
else{
  describe(...
     it(...
}
постоянно уходит на ветку true
А вариант
describe(...
it('bar', async () =>
const foo=...
if(foo){
  describe('baz'
     it(...
}
else{
  describe('boo'
     it(...
}
рисует зеленую галочку у bar, но не выводит вообще ни baz, ни boo
постой, ты пытаешься внутри it обьявить describe? так нельзя делать
источник

FT

Filipp Terekhov in JavaScript testing
initialquantities  - в describe непосредственно перед ним, там есть вывод в консоль, вывод правильный.
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Oleksandr Khotemskyi
постой, ты пытаешься внутри it обьявить describe? так нельзя делать
внутри it нельзя вызывать describe или it - это не будет работать
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Filipp Terekhov
initialquantities  - в describe непосредственно перед ним, там есть вывод в консоль, вывод правильный.
или ты получил переменную в одном тесте, а потом решаешь обьявлять следующие тесты или нет в зависимости от этой переменной?
источник

FT

Filipp Terekhov in JavaScript testing
Oleksandr Khotemskyi
внутри it нельзя вызывать describe или it - это не будет работать
Второй вариант не работает, да. Но вот в первом describe -> describe -> it. И почему-то
а) console.log ничего не выводит
б) код уходит на ветку true (или вообще игнорирует условие, но it из ветки else не показывается)
источник