Size: a a a

Selenide на русском

2020 July 16

SP

Sergey Pirogov in Selenide на русском
источник

SP

Sergey Pirogov in Selenide на русском
чтобы этот класс появился? че явно надо добавить зависимость браузер моб прокси? Andrei
источник

A

Anton in Selenide на русском
В новых версиях там browserUpProxy или чот такое
источник

A

Anton in Selenide на русском
Погуглите ченджлоги
источник

SP

Sergey Pirogov in Selenide на русском
ну его типа надо явно подключить
источник

A

Anton in Selenide на русском
Там же в ченджлогах есть и про это инфа
источник

BO

Boris Osipov in Selenide на русском
Sergey Pirogov
ну его типа надо явно подключить
да
источник

MK

Maksim Kanin in Selenide на русском
Stanislav
В доках сказано:
/**
* Checks if element is visible
*
* <p>Sample: {@code $("input").shouldBe(visible);}</p>
*/
@code $("input").shouldBe(visible);}</p>
*/
лучше проваливайся дальше в сорцы, смотри как селенид работает с селениумовским WebElement-ом, далее смотри как сам селениум определяет визибильность. У тебя может получится так, что элемент перекрыт другим элементом или находится на клиенте, но вне вьюпорта, тогда вполне isVisible может возвращать true
источник

VB

Vlad Bak in Selenide на русском
Sergey Pirogov
ну его типа надо явно подключить
источник

VB

Vlad Bak in Selenide на русском
зависимость необходимо подключить
источник

Ri

Rustam is not a func... in Selenide на русском
Andrei Подскажи пожалуйста.
Стек testNG+Selenoid+Selenide+mvn
следующая ситуация
есть BaseTest в нем @BeforeMethod@BeforeMethod в котором переход на index.html.
Selenide.open("/")
и авторизация на продукте
есть SomeShitTest extends BaseTest в котором тоже есть
@BeforeMethod@BeforeMethod
с переходом на конкретную страницу
Selenide.open("shitPage")

убрал парализации и листенеры. Запускаю последовательно.
Ошибка
java.lang.IllegalStateException: No webdriver is bound to current thread: 25. You need to call open(url) first.
Перемещаю вызов методов из обоих BeforeMethod  в тест - ошибки нет.
источник

AS

Andrei Solntsev in Selenide на русском
Rustam is not a function
Andrei Подскажи пожалуйста.
Стек testNG+Selenoid+Selenide+mvn
следующая ситуация
есть BaseTest в нем @BeforeMethod@BeforeMethod в котором переход на index.html.
Selenide.open("/")
и авторизация на продукте
есть SomeShitTest extends BaseTest в котором тоже есть
@BeforeMethod@BeforeMethod
с переходом на конкретную страницу
Selenide.open("shitPage")

убрал парализации и листенеры. Запускаю последовательно.
Ошибка
java.lang.IllegalStateException: No webdriver is bound to current thread: 25. You need to call open(url) first.
Перемещаю вызов методов из обоих BeforeMethod  в тест - ошибки нет.
Посмотри внимательно на полный стектрейс твоей ошибки. Там должно быть видно, кто именно у тебя дёргает селенидовский метод до open.
источник

A

Anton in Selenide на русском
Может где то $ раньше
источник

AS

Andrei Solntsev in Selenide на русском
Да, либо $, либо getWebDriver().
источник

Ri

Rustam is not a func... in Selenide на русском
public class AddNewItem extends BaseTest {
   @BeforeMethod
   public void ensurePreconditions() {
       System.out.println("Thread.currentThread().getId()" + Thread.currentThread().getId());
       ItemDoIt.open();
   }

   @Test()
   public void ItemCanBeAddedByAdmin() {
       System.out.println("Thread.currentThread().getId()" + Thread.currentThread().getId());
       ItemDoIt.addNewItem(new ItemData());
   }
}
вывод в консоли
Jul 16, 2020 5:33:02 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Thread.currentThread().getId()1
Thread.currentThread().getId()25
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 17.934 s <<< FAILURE! - in TestSuite
[ERROR] ItemCanBeAddedByAdmin  Time elapsed: 0.177 s  <<< FAILURE!
java.lang.IllegalStateException: No webdriver is bound to current thread: 25. You need to call open(url) first.

почему могут быть в разных тредах? стек testNG+ selenide+mvn
источник

S

Stanislav in Selenide на русском
Maksim Kanin
лучше проваливайся дальше в сорцы, смотри как селенид работает с селениумовским WebElement-ом, далее смотри как сам селениум определяет визибильность. У тебя может получится так, что элемент перекрыт другим элементом или находится на клиенте, но вне вьюпорта, тогда вполне isVisible может возвращать true
Вот это похоже моя ситуация, когда элемент вне viewport. Подскажите, а есть ли способ проверить элемент на видимость так, как это видит пользователь, не взирая на весь этот DOM и viewport?
источник

MK

Maksim Kanin in Selenide на русском
Как вариант считай координаты нижнего угла элемента и родительского, сравнивай их, пока не будет = true - делай скролл. Либо попробуй через JS scrollIntoView (надо подключить JSExecutor только)
источник

Ri

Rustam is not a func... in Selenide на русском
Rustam is not a function
public class AddNewItem extends BaseTest {
   @BeforeMethod
   public void ensurePreconditions() {
       System.out.println("Thread.currentThread().getId()" + Thread.currentThread().getId());
       ItemDoIt.open();
   }

   @Test()
   public void ItemCanBeAddedByAdmin() {
       System.out.println("Thread.currentThread().getId()" + Thread.currentThread().getId());
       ItemDoIt.addNewItem(new ItemData());
   }
}
вывод в консоли
Jul 16, 2020 5:33:02 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Thread.currentThread().getId()1
Thread.currentThread().getId()25
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 17.934 s <<< FAILURE! - in TestSuite
[ERROR] ItemCanBeAddedByAdmin  Time elapsed: 0.177 s  <<< FAILURE!
java.lang.IllegalStateException: No webdriver is bound to current thread: 25. You need to call open(url) first.

почему могут быть в разных тредах? стек testNG+ selenide+mvn
запускаю без параллизации и листнеров
источник

BO

Boris Osipov in Selenide на русском
Rustam is not a function
public class AddNewItem extends BaseTest {
   @BeforeMethod
   public void ensurePreconditions() {
       System.out.println("Thread.currentThread().getId()" + Thread.currentThread().getId());
       ItemDoIt.open();
   }

   @Test()
   public void ItemCanBeAddedByAdmin() {
       System.out.println("Thread.currentThread().getId()" + Thread.currentThread().getId());
       ItemDoIt.addNewItem(new ItemData());
   }
}
вывод в консоли
Jul 16, 2020 5:33:02 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Thread.currentThread().getId()1
Thread.currentThread().getId()25
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 17.934 s <<< FAILURE! - in TestSuite
[ERROR] ItemCanBeAddedByAdmin  Time elapsed: 0.177 s  <<< FAILURE!
java.lang.IllegalStateException: No webdriver is bound to current thread: 25. You need to call open(url) first.

почему могут быть в разных тредах? стек testNG+ selenide+mvn
>почему могут быть в разных тредах?

потому что это testng
источник

BO

Boris Osipov in Selenide на русском
там много таких приколов
источник