Size: a a a

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

2020 June 16

MK

Maksim Kanin in QA — Автоматизация
Дальше чейнишь что тебе надо и вызываешь метод нужный
источник

MK

Maksim Kanin in QA — Автоматизация
Просто 'булю' можно использовать, если ты точно уверен, что ничего другого не будет, а что если ещё что-то появится? Будешь обкладываться if-ами?)
источник

D

Di in QA — Автоматизация
Maksim Kanin
Типа:
new LoadData().withDate().withDateFormat()
В этом случае надо объекты создавать, а в паттерне шагов, что я юзаю, это просто методы, в которых описана логика куда нажать и что внести
источник

D

Di in QA — Автоматизация
Подробнее ещё почитаю, может не до конца понял паттерн билдера
Спасибо!
источник

AS

Andrei Solntsev in QA — Автоматизация
Чот не понял. Если это два разных кейса, и оба надо проверить, то должно быть два разных теста.
источник

DS

Dmytro Slobodianiuk in QA — Автоматизация
у него два теста, просто человеку подсказали как реализовать дополнительный опциональный степ при помощи билдеров
источник

SL

Sergey Lyubchich in QA — Автоматизация
/stat@combot
источник

C

Combot in QA — Автоматизация
Total messages: 124153
источник

D

Di in QA — Автоматизация
Andrei Solntsev
Чот не понял. Если это два разных кейса, и оба надо проверить, то должно быть два разных теста.
Два теста, но они используют одну и ту же форму. У меня действия с этой формой (загрузка данных) в одном методе и я думал как лучше реализовать различные вариации
источник

AS

Andrei Solntsev in QA — Автоматизация
Я, наверное, чего-то не понимаю, но для этого во всех ЯП есть методы и параметры. Зачем усложнять?
источник

D

Di in QA — Автоматизация
Andrei Solntsev
Я, наверное, чего-то не понимаю, но для этого во всех ЯП есть методы и параметры. Зачем усложнять?
Ну вот у меня есть метод
LoadData() {
$(byText(“click here”)).click();
}

И он прекрасно работает с 1 элементом в БД

Для теста с 2-мя элементами в БД он уже не подходит, так как помимо основного клика, надо выбрать из списка необходимый объект.

Вот я и спрашиваю, какая бест практис для таких случаев в автотестах.

Создать ещё один метод или добавить к уже созданному параметры?
источник

AS

Andrei Solntsev in QA — Автоматизация
Я бы сделал отдельный метод. Когда почувствуешь, что у них слишком много повторяющегося кода, вынеси одинаковый кусок ещё в один метод. Это обычный рефакторинг, никакого рокетсайенса. :)
источник

D

Di in QA — Автоматизация
Andrei Solntsev
Я бы сделал отдельный метод. Когда почувствуешь, что у них слишком много повторяющегося кода, вынеси одинаковый кусок ещё в один метод. Это обычный рефакторинг, никакого рокетсайенса. :)
Да, я большие участки кода выношу в отдельный метод. Здесь же получается так, что они отличаются всего в одну строку. Поэтому думал, добавить переменную на вход метода boolean isSingle (например), а внутри метода проверять на ‘трушность’ и от этого либо выбирать из списка и кликать, либо же просто кликать.

Но вот из ответа выше понял, что это бэд айдиа

Спасибо за ответ!
источник

AS

Andrei Solntsev in QA — Автоматизация
Вообще можно и так, и так. Код - это живой организм. Можно попробовать по-разному, поиграться. Сегодня так, завтра иначе.
источник

A

Alex in QA — Автоматизация
Di
Ну вот у меня есть метод
LoadData() {
$(byText(“click here”)).click();
}

И он прекрасно работает с 1 элементом в БД

Для теста с 2-мя элементами в БД он уже не подходит, так как помимо основного клика, надо выбрать из списка необходимый объект.

Вот я и спрашиваю, какая бест практис для таких случаев в автотестах.

Создать ещё один метод или добавить к уже созданному параметры?
Можно передавать объект с данными, и если какие-то переменные в этом объекте null то их не проставлять
источник

SK

Sergey Karpukhin in QA — Автоматизация
Подскажите плиз! Я питоном и селениумом на странице пытаюсь перетащить один элемент в другой, такой конструкцией. На странице вижу, что элемент захватывается, но дальше ничего не происходит. Заметил, что во время захвата элемента изменяется DOM. Может ли это повлиять на процесс драг_н_дропа?
источник

TN

Timur Nurlygayanov in QA — Автоматизация
Sergey Karpukhin
Подскажите плиз! Я питоном и селениумом на странице пытаюсь перетащить один элемент в другой, такой конструкцией. На странице вижу, что элемент захватывается, но дальше ничего не происходит. Заметил, что во время захвата элемента изменяется DOM. Может ли это повлиять на процесс драг_н_дропа?
а как наблюдаете что элемент захватился? возможно там вопрос с размерами элементов или уникальностью идентификаторов?
источник

TN

Timur Nurlygayanov in QA — Автоматизация
можно еще попробовать через chain: action_chains.move_to_element(element).click_and_hold(element).move_to_element(target).perform()
источник

TN

Timur Nurlygayanov in QA — Автоматизация
и посмотреть будет ли разница, ну и уникальность локаторов проверить
источник

SK

Sergey Karpukhin in QA — Автоматизация
Timur Nurlygayanov
а как наблюдаете что элемент захватился? возможно там вопрос с размерами элементов или уникальностью идентификаторов?
когда захватываешь таргет, то на месте курсора появляется элемент (который в DOMe), который следует за курсором. И вот, он только появляется, но не перемещается в нужное место, а стоит на одно.
источник