Size: a a a

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

2020 March 12

АА

Александр Александрович in QA — Автоматизация
а как не работает? вываливается с таймаутом?
источник

АА

Александр Александрович in QA — Автоматизация
я вот к чему, попробуй обернуть "wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(btnId)));" в try catch
источник

V

Vel in QA — Автоматизация
Vitaliy Malyarenko
Да, суть в том, что есть 6 кнопок, у каждой свой статический id. Мне нужно добраться каким-то образом к каждой из них. Нужно сделать так, чтобы страница обновлялась, пока на сайте не будет виден элемент с кнопкой с конкретным, заданным мной id. Я переписал код, теперь он выглядит так, но все равно не работает.
@Test
   public void generated() {
       WebElement button = null;
       String btnId = "gf_button_get_form_609888";

       for (int i = 0; i < 100; i++) {
           // находим кнопку
           button = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(btnId)));

           if (button == null) { //если актуальное не равно ожидаемому, то
               driver.navigate().refresh();  // обновить страницу
           } else {
               break; // кнопка норм, выходим нахой с цикла
           }
       }
   }
может нужно делать что то типа
while (!myKnopka) {
refresh}
источник

GR

Georg Rusanov in QA — Автоматизация
Vel
может нужно делать что то типа
while (!myKnopka) {
refresh}
а если она вообще не появится?)
источник

V

Vel in QA — Автоматизация
Georg Rusanov
а если она вообще не появится?)
тогда ограничение делать ))
источник

VM

Vitaliy Malyarenko in QA — Автоматизация
Александр Александрович
я вот к чему, попробуй обернуть "wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(btnId)));" в try catch
да, с таймаутом. Нужно будет попробовать, спасибо. Просто страница открывается, но цикл не запускается даже.
источник

VM

Vitaliy Malyarenko in QA — Автоматизация
Georg Rusanov
а если она вообще не появится?)
поэтому я использую for
источник

АА

Александр Александрович in QA — Автоматизация
Vitaliy Malyarenko
да, с таймаутом. Нужно будет попробовать, спасибо. Просто страница открывается, но цикл не запускается даже.
Не удобно писать. В общем должно быть так трай - вэйт.антил (....); Брейк // нашли; катч (таймаутэксепшн) драйвер.навигайт.рефреш
источник

S

SMB in QA — Автоматизация
Александр Александрович
Не удобно писать. В общем должно быть так трай - вэйт.антил (....); Брейк // нашли; катч (таймаутэксепшн) драйвер.навигайт.рефреш
там есть проблема что антил этого чертов не глотает какие-то эксепшены типа нот файнд. то есть трай катч надо впихивать в лямбду а лямбду уже совать в этот вэйт.антил
источник

PG

Pavel Gromov in QA — Автоматизация
Вопрос
кто апишным тестированием занимается на java, как работаете с базой?

Насколько имеет смысл подключать hibernate или даже hibernate + spring?
Спасибо
источник

AC

Alice Carroll in QA — Автоматизация
Pavel Gromov
Вопрос
кто апишным тестированием занимается на java, как работаете с базой?

Насколько имеет смысл подключать hibernate или даже hibernate + spring?
Спасибо
Hibernate это почти что стандарт, лишним изучить его не будет
источник

PG

Pavel Gromov in QA — Автоматизация
Alice Carroll
Hibernate это почти что стандарт, лишним изучить его не будет
Я знаю как им пользоваться, но для тестов не использовал ещё)

А насчет spring?
Он же дополнительный уровень абстракции над hibernate и все это удобство с репозиториями и отсутствием необходимости в session factory итп
Или это лишнее уже?
источник

AC

Alice Carroll in QA — Автоматизация
Pavel Gromov
Я знаю как им пользоваться, но для тестов не использовал ещё)

А насчет spring?
Он же дополнительный уровень абстракции над hibernate и все это удобство с репозиториями и отсутствием необходимости в session factory итп
Или это лишнее уже?
Ну если знаете то зачем искать что-то другое?)

Наверное уже зависит от ваших задач и потребностей.
В моем случае например спринг это больше геморроя чем пользы
источник

YS

Yuriy Samarin in QA — Автоматизация
Pavel Gromov
Я знаю как им пользоваться, но для тестов не использовал ещё)

А насчет spring?
Он же дополнительный уровень абстракции над hibernate и все это удобство с репозиториями и отсутствием необходимости в session factory итп
Или это лишнее уже?
спринг дата позволит делать относительно простые запросы без HQL (https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords)
для чего то более сложного все равно придется писать кастомные запросы
источник

PG

Pavel Gromov in QA — Автоматизация
Yuriy Samarin
спринг дата позволит делать относительно простые запросы без HQL (https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords)
для чего то более сложного все равно придется писать кастомные запросы
Да, но вот стоит ли эта абстракция того? Если что-то более сложное вряд ли придется делать

Насколько спринг вообще будет мешать
источник

O

Oleg in QA — Автоматизация
jdbcTemplate использую. Спринг только магии добавляет, ну и тащить спринг только ради репозиториев так себе звучит
источник

PG

Pavel Gromov in QA — Автоматизация
Oleg
jdbcTemplate использую. Спринг только магии добавляет, ну и тащить спринг только ради репозиториев так себе звучит
Ну вот я думаю насколько чище будет проект выглядеть если не нужно будет возиться с сессиями в beforeMetod / afterMethod и отдать это спрингу

За наводку с темплейтами спасибо
источник

O

Oleg in QA — Автоматизация
Опять же, тот же гибернейт хорошо, когда твое приложение - единственный клиент базы. Предполагается, что ты работаешь с объектами в коде как отображением базы. Гибернейт кеширует состояния и если кто-то другой изменит данные в базе, то приложение об этом не узнает.
источник

O

Oleg in QA — Автоматизация
ну проблема то не в сессиях, в спринге запрос будет выглядеть как интерфейс без реализации с говорящим методом. Но к нему придется писать  энтити и развешивать аннотации
источник

MK

Mem Kekovich in QA — Автоматизация
Pavel Gromov
Вопрос
кто апишным тестированием занимается на java, как работаете с базой?

Насколько имеет смысл подключать hibernate или даже hibernate + spring?
Спасибо
Для тестов гибернейт избыточен
За глаза хватит спринг ждбцтемплейта
Либо любой другой легковесный фреймворк без программирования на аннотациях
источник