Size: a a a

Selenide на русском

2020 September 13

AS

Andrei Solntsev in Selenide на русском
Хм.. а может быть.
источник

vA

vasiliy As-Seksoti in Selenide на русском
привет.есть регулярное выражение,которое хочу использовать для поиска элемента по айди.подскажите какую конструкцию использовать.
$(^yearoperation-[0-9][0-9][0-9][0-9]) — такое не робит
источник

OL

Oleksandr Lozitskyi in Selenide на русском
Andrei Solntsev
Странно, у меня файл скачивается без всяких диалогов (в том хроме, который запускает селенид по умолчанию).
Надо было еще добавить

DesiredCapabilities capabilities = new DesiredCapabilities();
ChromeOptions options = new ChromeOptions();
HashMap<String, Object> chromePref = new HashMap<>();
chromePref.put("safebrowsing.enabled", true);
options.setExperimentalOption("prefs", chromePref);
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
options.merge(capabilities);
 browserCapabilities = capabilities;

и теперь все работает
источник

A

Anton in Selenide на русском
chromePref.put("safebrowsing.enabled", true);

спасибо сохраню
источник

OL

Oleksandr Lozitskyi in Selenide на русском
И Вам спасибо)
источник

AS

Andrei Solntsev in Selenide на русском
Anton
chromePref.put("safebrowsing.enabled", true);

спасибо сохраню
Может, надо в селенид добавить?

Помню, я когда-то игрался, перепробовал все опции, и от конкретно этой опции не увидел никакого эффекта.
источник

A

Anton in Selenide на русском
незнаю, а вдруг реально какую бяку качать будут и не поймут =) А так сами на свой страх и риск добавляют пусть опцию =)
источник

OL

Oleksandr Lozitskyi in Selenide на русском
Подскажите пожалуйста как правильно удалить файл
File XML = $(byText(value)).download();
XML.delete();
так не работает, файл остается
источник

OL

Oleksandr Lozitskyi in Selenide на русском
я в настройках указал что бы скачивание было в  
chromePref.put("download.default_directory", System.getProperty("user.dir")+File.separator+"build"+File.separator+"downloads");


т.е. в build/downloads папку
источник

AS

Andrei Solntsev in Selenide на русском
1. Начиная с версии 5.7.0, селенид по умолчанию скачивает в эту папку. Так что эта настройка не нужна.
2. Зачем удалять файл? Он полезен, чтобы потом изучать упавшие тесты. А папку build по-любому ведь стирают в начале каждого билда, наверняка ведь?
источник

OL

Oleksandr Lozitskyi in Selenide на русском
Понял, спасибо)
источник
2020 September 14

AF

Anna Farafonova in Selenide на русском
привет! подскажите пжл как в Селениде можно нажать кнопку клавиатуры  без привязки к элементу? То есть просто нажать F8или PAGE_DOWN (на скрине последний метод делает именно это)
источник

AS

Andrei Solntsev in Selenide на русском
В селениде есть метод Selenide.actions() , который позволяет то же самое сделать. Но может, проще будет $("body").sendKeys(...)
источник

AF

Anna Farafonova in Selenide на русском
Andrei Solntsev
В селениде есть метод Selenide.actions() , который позволяет то же самое сделать. Но может, проще будет $("body").sendKeys(...)
Спасибо )
источник

ON

Olzhas Nuralinov in Selenide на русском
а можно заставить по умолчанию (не писать явно elem.scrollTo()) скролить страницу вниз к элементам, с которыми работаешь, даже если просто взял текст?
источник

AS

Andrei Solntsev in Selenide на русском
Технически можно, но это замедлит тесты.
источник

AM

Artur Mkrtychian in Selenide на русском
Подскажите, как решить следующую проблему.

1) Тест нажимает на кнопку
2) Появляется лоадер
3) Лоадер пропадает
4) Тест берет значение элемента.

Код примерно такой:
$("div.main").click
$("div.spinner-container").shouldBe(not(visible));
String elText = $("div.data").getText();

Периодически возникает проблема:
Element should be not visible {div.spinner-container}
Element: 'Ups, failed to described the element [caused by: StaleElementReferenceException: stale element reference: element is not attached to the page document]'
Actual value: StaleElementReferenceException: stale element refe
источник

SR

Stas Rusakov in Selenide на русском
Селенид и придуман для таких проблем)
Код должен быть просто

$("div.main").click
String elText = $("div.data").shouldBe(visible).getText();

Если лоадер долгий можно влепить дополнительное ожидание

$("div.main").click
String elText = $("div.data").shouldBe(visible, 10_000 ).getText();//максимум подождет 10 секунд, но если элемент станет видимым раньше - сразу побежим дальше
источник

SR

Stas Rusakov in Selenide на русском
Потому что вас интересует текст элемента, а не лоадер.
В старых тестах пытались завязываться на лоадер что бы избегать "лишнего ожидания"
А селенид лишнего не ждет.
И поэтому с его помощью лучше сразу ждать финальный результат
источник

YM

Yevgeniy Mikhailov in Selenide на русском
Stas Rusakov
Селенид и придуман для таких проблем)
Код должен быть просто

$("div.main").click
String elText = $("div.data").shouldBe(visible).getText();

Если лоадер долгий можно влепить дополнительное ожидание

$("div.main").click
String elText = $("div.data").shouldBe(visible, 10_000 ).getText();//максимум подождет 10 секунд, но если элемент станет видимым раньше - сразу побежим дальше
Не звучит стабильно, если честно. Элемент, из которого должны брать значение, уже может быть, и тогда будет взято не то, что надо, разве нет? Но это  зависит от приложения
источник