Size: a a a

QA — Автоматизация

2021 April 21

МБ

Михаил Болгов... in QA — Автоматизация
но в случае отсутствия тест упадет. А у меня может быть, может не быть :)
источник

P

Pavel Korostin in QA — Автоматизация
наличие логики в тесте вообще не очень идея) тесты должны быть линейные и предсказуемые.
но если очень нужно с логикой, то можно вместо find() использовать filter() - отфильтрует коллекцию, далее можно проверить ее размер и выбрать элемент
источник

МБ

Михаил Болгов... in QA — Автоматизация
"наличие логики в тесте вообще не очень идея)" соглы
тесты должны быть линейные и предсказуемые. - соглы
использовать filter() - отфильтрует коллекцию, далее можно проверить ее размер и выбрать элемент - написал так и выглядит костылём. Буду просто фильтровать данные и через лямбду удалять их, ну а если не будет их, то и не будет ничего удалять и в ошибку не упадёт)
источник

MS

Maks Stn in QA — Автоматизация
А какая сложность взять у всех элементов гэт текст и засунуть в коллекцию стрингов, после этого асертом проверить если нужно ?
источник

МБ

Михаил Болгов... in QA — Автоматизация
а мне не заассертить это надо а удалять их , если они есть))
источник

МБ

Михаил Болгов... in QA — Автоматизация
да и зачем отдельную коллекцию делать) через кондишн же проверить можно)
источник

MS

Maks Stn in QA — Автоматизация
Но ведь вас же смущает что кондишен выкинет эксепшен и тест упадёт
источник

P

Pavel Korostin in QA — Автоматизация
проходить по коллекции и удалять оттуда же?) это прям на первом уроке по коллециям рассказывают, что так не нужно делать
источник

MS

Maks Stn in QA — Автоматизация
Давайте более конкретный пример что вы хотите сделать, если нужно из дропдауна выбрать нужный текст и кликнуть то просто поместите этот текст в икспас и с помощью него выбирайте
источник

МБ

Михаил Болгов... in QA — Автоматизация
не из коллекции удалять, а нахожу элементы которые нужны и по ним делаю клик (выбор) а потом удаляю запись в интерфейсе. Недоговорил просто)
А почему не надо из коллекции удалять? В селениде даже есть метод exclude() :)
источник

МБ

Михаил Болгов... in QA — Автоматизация
Найти элементы
По каждому кликнуть
Выбрать кнопку "Удалить"

Только проблема: при сборе коллекции первый элемент имеет "-selected"
После удаления первого элемента, тот, что был вторым, становится первым и получает "-selected" и из-за этого элемент из коллекции исчезает и процесс стопается :(
источник

MS

Maks Stn in QA — Автоматизация
Пробуйте удалять не сверху вниз а снизу вверх
источник

P

Pavel Korostin in QA — Автоматизация
если по каждому кликнуть, то это просто $$().filter().forEach(SelenideElement::click);
если элементов в коллекции нет после фильтра, то кликов не будет
источник

МБ

Михаил Болгов... in QA — Автоматизация
думал над этим, только вот если
5 элементов, выбираю 4й , то уже 1й не селектед и после удаления 4ого выделение падает не на первый элем, а на 5й :) и в итоге еще и пятый модифицируется и ощущение, что нужно после каждого удаления пересобирать коллекцию :D
источник

МБ

Михаил Болгов... in QA — Автоматизация
Или можно через цикл от элемента find() делать, кликать и нажимать "Удалить")) но это чето тоже колхозно )
источник

AS

Andrei Solntsev in QA — Автоматизация
Ну что же, никто не скажет, что удалять что-либо через UI в ui-тестах - плохая идея?
источник

МБ

Михаил Болгов... in QA — Автоматизация
хе хе)) я ждал когда ты ворвешься)
источник

МБ

Михаил Болгов... in QA — Автоматизация
что предложишь в моем кейсе?)
источник

P

Pavel Korostin in QA — Автоматизация
так это, как понял, функциональность приложения такая, не?
источник

P

Pavel Korostin in QA — Автоматизация
выбрал на UI элемент, там же кнопку Удалить кликнул - тест на проверку этой кнопки.. что тут плохого? как еще это тестировать то?)
источник