Size: a a a

Selenide на русском

2020 February 25

SC

Sergey Chevychelov in Selenide на русском
от обычного селениума есть способ
источник

Y

Yuriy in Selenide на русском
ну тут такая фигня получается что єтот способ работает с РГБА форматом, как-то не очень удобно. хотелось получить в качестве ответа - "ред" или "грин"
источник

SR

Stas Rusakov in Selenide на русском
О вообще странная фигня
источник

TS

Taras Shevchenko in Selenide на русском
юзаем - org.openqa.selenium.support.Color

Color.fromString($("div").getCssValue("background-color")).asHex();
источник

SR

Stas Rusakov in Selenide на русском
Selenide.executeJavaScript("(function(element) {element.value = 'asdcasdcd'; element.dispatchEvent(new Event('change', {bubble: true})) })(arguments[0]);", $(byText("Label text")).closest("div").$("input"));
Вот так прокатывает
Хотя вроде как fastSetValue так же делает
источник

КИ

Константин Ирышков in Selenide на русском
Alexei Vinogradov
element.shouldHave(cssValue("background-color","xxxxx"));
Да, перепутал
источник

AV

Alexei Vinogradov in Selenide на русском
Yuriy
ну тут такая фигня получается что єтот способ работает с РГБА форматом, как-то не очень удобно. хотелось получить в качестве ответа - "ред" или "грин"
сделайте константу:
String RED="rgb(....)";
источник

Y

Yuriy in Selenide на русском
Taras
@alexejv
спасибо - счас попробую разобраться.
источник

SR

Stas Rusakov in Selenide на русском
Stas Rusakov
Selenide.executeJavaScript("(function(element) {element.value = 'asdcasdcd'; element.dispatchEvent(new Event('change', {bubble: true})) })(arguments[0]);", $(byText("Label text")).closest("div").$("input"));
Вот так прокатывает
Хотя вроде как fastSetValue так же делает
А нет. Показалось
источник

SR

Stas Rusakov in Selenide на русском
Короче я хз
События успешно бросаются - браузер ловит
Я уже все какие можно попробовал бросить (keydown в том числе)

Но при обычном вводе - он его ловит и вызывает необходимые хуки, при программном - нет(
Судя по всему он бросает какой то особенный event
Если кто знает как решить этот вопрос - буду очень благодарен

Пока оставлю фичу без теста(
источник
2020 February 27

V

Vel in Selenide на русском
А в селениде нет решения для softasserts для JUnit5 ?
источник

V

Vel in Selenide на русском
в коде селенида вижу 1. Add rule for test class: {@code @Rule public SoftAsserts softAsserts = new SoftAsserts();} но по ходу это для JUnit 4 только?
источник

V

Vel in Selenide на русском
Получаю ошибку вида Using soft asserts, but without @SoftAsserts annotation
источник

V

Vel in Selenide на русском
@SoftAsserts а где это прописывать?
источник

AS

Andrei Solntsev in Selenide на русском
Конечно есть. Просто чуть другой класс: com.codeborne.selenide.junit5.SoftAssertsExtension
источник

V

Vel in Selenide на русском
Andrei Solntsev
Конечно есть. Просто чуть другой класс: com.codeborne.selenide.junit5.SoftAssertsExtension
та вот прописал @ExtendWith({SoftAssertsExtension.class}) над тестовым классом, в testBase классе указал в beforeAll Configuration.assertionMode = SOFT;
но тест падает с ошибкой не начавшись
Using soft asserts, but without @SoftAsserts annotation
java.lang.IllegalStateException: Using soft asserts, but without @SoftAsserts annotation
at com.codeborne.selenide.logevents.ErrorsCollector.validateAssertionMode(ErrorsCollector.java:54)
at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:59)
at com.sun.proxy.$Proxy24.setValue(Unknown Source)
at com.Login.login(Login.java:25)
at com.TestBase.setUp(TestBase.java:32)
источник

AS

Andrei Solntsev in Selenide на русском
Так ты, наверное, вызываешь Login.login() ДО того, как дёргаешь Configuration.assertionMode=SOFT
источник

V

Vel in Selenide на русском
Andrei Solntsev
Так ты, наверное, вызываешь Login.login() ДО того, как дёргаешь Configuration.assertionMode=SOFT
вот так неверно? че то не соображу

@ExtendWith({SoftAssertsExtension.class})
public class TestBase {


   @Step
   @BeforeAll
   static void setUp() {
       Configuration.browser = IOSDriverProvider.class.getName();
       Configuration.startMaximized = false;
       Configuration.browserSize = null;
       Configuration.assertionMode = SOFT;
       SelenideLogger.addListener("allure", new AllureSelenide()); // allure

       open();
       new Login().login();
   }
источник

V

Vel in Selenide на русском
вот нашел такую же проблему https://stackoverflow.com/questions/58112439/selenide-junit-5-assertionmode-soft-doesnt-work
но не понятно куда я должен вынести логин?
источник

AS

Andrei Solntsev in Selenide на русском
Сделай login НЕ в статическом @BeforeAll методе, а в нестатическом @BeforeEach методе.
источник