Size: a a a

2020 September 29

VS

Vitalii Sotnichenko in JS for testing
Діма Потапов
@davert тогда точно поможет
согласен, не хотелось просто лишний раз беспокоить) может еще кто-то сталкивался
источник

OK

Oleksandr Khotemskyi in JS for testing
Vitalii Sotnichenko
согласен, не хотелось просто лишний раз беспокоить) может еще кто-то сталкивался
правильно, он как раз 3.0 релизит
источник

VS

Vitalii Sotnichenko in JS for testing
Oleksandr Khotemskyi
правильно, он как раз 3.0 релизит
понял) тогда пока сам буду разбираться)
источник

OK

Oleksandr Khotemskyi in JS for testing
Vitalii Sotnichenko
понял) тогда пока сам буду разбираться)
попробуй свичнись на воркеры
источник

VS

Vitalii Sotnichenko in JS for testing
Oleksandr Khotemskyi
попробуй свичнись на воркеры
с воркерами именно паралельность лучше работает. но часто тесты ретраятся, так понимаю ресурсов сервера не хватает где ранятся - так как там и пайплайн раниться и локально тестится разными командами. А вот через чанки тесты стабильно работают, не падают, поэтому на чанки и переключился
источник

BO

Boris Osipov in JS for testing
Vitalii Sotnichenko
Привет! Нужно запараллелить тесты. Использую chunks, но проблема в том что нагрузка все равно идет основная на конкретный чанк. Допусти использую 4 штуки, 3 из низ отрабатывают за 20-30сек, а оставшийся 4 минуты ранит тесты в одиночку. Можно как-то распределить нагрузку между ними равномерно?
ну а как раннер должен угадать что длинна тестов в чанке 1 10 минут, а в чанке 2 100 минут? :)
источник

VS

Vitalii Sotnichenko in JS for testing
а во сколько потоков вообще рекомендуется ранить тесты на 4 ядрах? 1 браузер - 1 ядро?
источник

BO

Boris Osipov in JS for testing
там же наверняка нет весов на тестах. и статистику не откуда взять
источник

VS

Vitalii Sotnichenko in JS for testing
Boris Osipov
ну а как раннер должен угадать что длинна тестов в чанке 1 10 минут, а в чанке 2 100 минут? :)
возможно можно указать хотя бы конкретным чанкам определенные файлы, у меня допустим первый чанк вообще 0 тестов заранил)
источник

BO

Boris Osipov in JS for testing
Vitalii Sotnichenko
возможно можно указать хотя бы конкретным чанкам определенные файлы, у меня допустим первый чанк вообще 0 тестов заранил)
судя по доке там можно написать функцию и самому разбивать по чанкам спек файлы. см в самый низ https://codecept.io/parallel/#multiple-browsers-execution
источник

VS

Vitalii Sotnichenko in JS for testing
Boris Osipov
судя по доке там можно написать функцию и самому разбивать по чанкам спек файлы. см в самый низ https://codecept.io/parallel/#multiple-browsers-execution
спасибо, как вариант. Не совсем подходит так как нужно постоянно обновлять конфиг при добавлении новых тестов, но можно пробовать
источник

VG

Vitalii Grygoruk in JS for testing
Vitalii Sotnichenko
спасибо, как вариант. Не совсем подходит так как нужно постоянно обновлять конфиг при добавлении новых тестов, но можно пробовать
можете собирать статистику по рантайму (например на CI) и потом ее переиспользовать
Потом используя эти данные написать фунцкию которая разбивает на чанки учитывая рантайм статистику
Можете глянуть сюда https://github.com/peakon/mocha-split-tests - мы тут делали что-то похожее для распределения тестов между процессами, но идея та же самая под капотом
источник

VS

Vitalii Sotnichenko in JS for testing
Vitalii Grygoruk
можете собирать статистику по рантайму (например на CI) и потом ее переиспользовать
Потом используя эти данные написать фунцкию которая разбивает на чанки учитывая рантайм статистику
Можете глянуть сюда https://github.com/peakon/mocha-split-tests - мы тут делали что-то похожее для распределения тестов между процессами, но идея та же самая под капотом
спасибо
источник

AD

Andrei Dzeichyk in JS for testing
Чатик, есть вопрос, мб кто сталкивался.

Как можно сделать такой же стректрейс как в Jest, например?
Либо стектрейс с поинтерами, где будет указанно откуда произошло падение?

Что-то похожее есть в ноде из коробки, но если эту ошибку обрабатывать в try/catch то этот поинтер теряется.
Готовых пакетов и решений, что-то я не нашел😢
источник

AD

Andrei Dzeichyk in JS for testing
источник

OK

Oleksandr Khotemskyi in JS for testing
Andrei Dzeichyk
Чатик, есть вопрос, мб кто сталкивался.

Как можно сделать такой же стректрейс как в Jest, например?
Либо стектрейс с поинтерами, где будет указанно откуда произошло падение?

Что-то похожее есть в ноде из коробки, но если эту ошибку обрабатывать в try/catch то этот поинтер теряется.
Готовых пакетов и решений, что-то я не нашел😢
можешь взять стектрейс из вылетевшей ошибки в catch
источник

OK

Oleksandr Khotemskyi in JS for testing
Andrei Dzeichyk
Чатик, есть вопрос, мб кто сталкивался.

Как можно сделать такой же стректрейс как в Jest, например?
Либо стектрейс с поинтерами, где будет указанно откуда произошло падение?

Что-то похожее есть в ноде из коробки, но если эту ошибку обрабатывать в try/catch то этот поинтер теряется.
Готовых пакетов и решений, что-то я не нашел😢
try {
  // some code here
} catch(err) {
    const ownError = new OwnError(`oops something went wrong!`)
    ownError.stack = err.stack
    throw ownError
}
источник

AD

Andrei Dzeichyk in JS for testing
Oleksandr Khotemskyi
try {
  // some code here
} catch(err) {
    const ownError = new OwnError(`oops something went wrong!`)
    ownError.stack = err.stack
    throw ownError
}
как вариант, но не совсем подходит.

Я вот думаю запилить софт ассерты, которые в конце теста будет фейлить тест, если были падения.
И как бы можно показывать сообщение с ошибками, но хочется еще показывать и код с поинтером =)
источник
2020 September 30

K

Ksenia in JS for testing
привет! Использую playwright + ts, можно ли как-то подождать, пока у элемента сменится текст? Думала, что для этого подойдет waitForFunction, но если текст меняется только в процессе ожидания, то он не подхватывается заново и тест падает по таймауту
источник

B

Bola in JS for testing
Ksenia
привет! Использую playwright + ts, можно ли как-то подождать, пока у элемента сменится текст? Думала, что для этого подойдет waitForFunction, но если текст меняется только в процессе ожидания, то он не подхватывается заново и тест падает по таймауту
нужно не ждать, когда текст сменится, а ждать конкретный новый текст + каждый раз искать элемент
источник