Size: a a a

2020 May 16

СБ

Сергей Блохин... in atinfo chat
/ \
В этом и проблема. Что сортировку селениум не может делать. И пропускает иногда погрешности. У меня задача именно в селениум сделать
Используйте Selenium, а не Selenium IDE. Тогда вам всё будет доступно.
источник

GA

Gaukhar Akhmetova in atinfo chat
Добрый вечер! Я начала автоматизацию мобильного приложения, на Линуксе развернула необходимые докер образы, кто знает туториал, где показывают настройку аппиума, реального девайса, эмулятора?
источник

DK

Denys Kozachok in atinfo chat
Всем доброго времени суток.
Разбираюсь с библиотекой JDBI.
Возникла проблема с версией jdbi.v3 при вызове метода получаю ошибку Method threw 'java.lang.NoSuchMethodError' exception.
Есть ли у кого то опыт работы с данной библиотекой?

КОД
public interface LookupsDao {
@SqlQuery("SELECT * FROM lookups WHERE category = 'Country' ORDER BY sortorder")
@RegisterRowMapper(LookupsRowMapper.class)
List<Lookups> getLookupsByCategory();
}
public class LookupsRowMapper implements RowMapper<Lookups>  {
   public LookupsEntity map(ResultSet resultSet, StatementContext statementContext) throws SQLException {
       return new LookupsEntity(
               resultSet.getInt("id"),
               resultSet.getString("category"),
               resultSet.getString("longdescrption"));
   }
}
public class Lookups {
       public int id;
       public String category;
       public String longdescrption;
}
источник

R(

Roman (rpwheeler) in atinfo chat
Denys Kozachok
Всем доброго времени суток.
Разбираюсь с библиотекой JDBI.
Возникла проблема с версией jdbi.v3 при вызове метода получаю ошибку Method threw 'java.lang.NoSuchMethodError' exception.
Есть ли у кого то опыт работы с данной библиотекой?

КОД
public interface LookupsDao {
@SqlQuery("SELECT * FROM lookups WHERE category = 'Country' ORDER BY sortorder")
@RegisterRowMapper(LookupsRowMapper.class)
List<Lookups> getLookupsByCategory();
}
public class LookupsRowMapper implements RowMapper<Lookups>  {
   public LookupsEntity map(ResultSet resultSet, StatementContext statementContext) throws SQLException {
       return new LookupsEntity(
               resultSet.getInt("id"),
               resultSet.getString("category"),
               resultSet.getString("longdescrption"));
   }
}
public class Lookups {
       public int id;
       public String category;
       public String longdescrption;
}
Можете попробовать на всё том же GitHub сделать поиск по открытому коду implements RowMapper  и посмотреть как сделаны те реализации что найдутся.

Один из результатов:

https://github.com/NudgeApm/ProjectPlace/blob/62f1e401ee2cf02c7d323a88359097ba31d9888d/webapp/src/main/java/com/nla/dao/MapperManager.java

Сам поиск:
https://github.com/search?q=implements+RowMapper&type=Code
источник
2020 May 17

AP

Anton Patsev in atinfo chat
Кстати, на счёт разбирательства с разными exception. Как вы их чините? как вы находите параметры, которые возможно были пропущены? Debug log?
источник

GA

Gaukhar Akhmetova in atinfo chat
Gaukhar Akhmetova
Добрый вечер! Я начала автоматизацию мобильного приложения, на Линуксе развернула необходимые докер образы, кто знает туториал, где показывают настройку аппиума, реального девайса, эмулятора?
Добрый день! Есть кто решал такие вопросы?☺️
источник

VK

Victor Koval in atinfo chat
Gaukhar Akhmetova
Добрый день! Есть кто решал такие вопросы?☺️
источник

R(

Roman (rpwheeler) in atinfo chat
Anton Patsev
Кстати, на счёт разбирательства с разными exception. Как вы их чините? как вы находите параметры, которые возможно были пропущены? Debug log?
В Java с пропущенными параметрами не должно  скомпилироваться :) Один из вариантов попасть на сложности это использовать магию аннотаций, которые могут включать очень неочевидную обработку.
"Разбирательство" = дебаг. Эксепшен указывает на некую строку и стактрейс. по ним можно прочесть где это случилось. Выставить брекпойнт, запустить в дебаге, смотреть что происходит. Но магию аннотаций практически лично мне дебажить не приходилось.
источник

AP

Anton Patsev in atinfo chat
Выставить брекпойнт, запустить в дебаге, смотреть что происходит - это долго.
Мне кажется лучше собирать исключений в Sentry.
Sentry — инструмент мониторинга исключений (exception), ошибок в ваших приложениях.
Чат по Sentry https://t.me/sentry_ru
источник
2020 May 18

E

Eugene in atinfo chat
всем привет, подскажите плиз. кто-то сталкивался с следующей проблемой?

делаю actions.double_click(web_element) и получаю StaleElementReferenceException. но если в дебаге остановиться перед этой строчкой и сделать к примеру web_element.is_displayed() или .is_enabled() или .get_attribute("value") то все в порядке, потом actions.double_click(web_element) - получаю StaleElementReferenceException, потом снова web_element.get_attribute("value") получаю значение инпута.

использую python/selenium/webdriver
источник

MA

Maksim Andryushchenk... in atinfo chat
Eugene
всем привет, подскажите плиз. кто-то сталкивался с следующей проблемой?

делаю actions.double_click(web_element) и получаю StaleElementReferenceException. но если в дебаге остановиться перед этой строчкой и сделать к примеру web_element.is_displayed() или .is_enabled() или .get_attribute("value") то все в порядке, потом actions.double_click(web_element) - получаю StaleElementReferenceException, потом снова web_element.get_attribute("value") получаю значение инпута.

использую python/selenium/webdriver
источник

E

Eugene in atinfo chat
прежде чем сюда написать,  гуглю уже второй час и ничего толкового не нашел, знаю из-за чего возникает StaleElementReferenceException, может с actions в этом плане есть нюансы о которых я не знаю
источник

S

Sergei in atinfo chat
> остановиться перед этой строчкой и сделать к примеру web_element.is_displayed() или .is_enabled() или .get_attribute("value") то все в порядке,

может стоит тогда и в тесте также завернуть 🙂
web_element.is_displayed()
actions.double_click(web_element)
источник

E

Eugene in atinfo chat
Sergei
> остановиться перед этой строчкой и сделать к примеру web_element.is_displayed() или .is_enabled() или .get_attribute("value") то все в порядке,

может стоит тогда и в тесте также завернуть 🙂
web_element.is_displayed()
actions.double_click(web_element)
если к примеру сделать так:
if
web_element.is_displayed():
 actions.double_click(web_element)

То я попадаю в if и actions падает c StaleElementReferenceException
источник

S

Sergei in atinfo chat
а сорри, неверно прочитал)
источник

S

Sergei in atinfo chat
да дичь какая-то
источник

E

Eugene in atinfo chat
видать actions делает что-то не так как я полагаю.
источник

СС

Сказочный Сникерс... in atinfo chat
Eugene
прежде чем сюда написать,  гуглю уже второй час и ничего толкового не нашел, знаю из-за чего возникает StaleElementReferenceException, может с actions в этом плане есть нюансы о которых я не знаю
если ты знаешь из за чего возникает, почему не добавишь цикл с ретраями?
источник

СС

Сказочный Сникерс... in atinfo chat
а вообще у тебя явно проблема что клик по элементу  меняет элемент
источник

СС

Сказочный Сникерс... in atinfo chat
и второй клик уже не пройдет
источник