Size: a a a

Selenide на русском

2019 November 23

SR

Stas Rusakov in Selenide на русском
Интересное задание)
Сомнительная ценность пожалуй тестить именно через Ui. Но оригинально по крайней мере)
Может через буфер выйдет? Типа paste.
Или через js
источник

M

Max in Selenide на русском
кстати через js я думаю то что надо, щас попробую, спасибо
источник

SR

Stas Rusakov in Selenide на русском
Ну и есть ещё загадочная (для меня) опция fastSetValue у селенид
источник

SR

Stas Rusakov in Selenide на русском
Возможно она как раз через js выполняет вставку. Но я чисто интуитивно предполагаю.
источник

c

catdog in Selenide на русском
мб setValue , но и там сененид дока говорит, что прирост процентов 10
источник

c

catdog in Selenide на русском
извините за рекламу, но тут есть пару вариантов реализации - https://automated-testing.info/t/sushhestvuet-li-alternativa-sendkeys-dlya-vvoda-teksta/7448/2
источник

M

Max in Selenide на русском
Спасибо ребят за инфу, щас попробую все эти варианты
источник

SR

Stas Rusakov in Selenide на русском
В доке написано что действительно через js
источник

AS

Andrei Solntsev in Selenide на русском
Stas Rusakov
Ну и есть ещё загадочная (для меня) опция fastSetValue у селенид
Чего ж тут загадочного. Да, fastSetVslue ставит значение через JavaScript, без sendKeys. Нужно как раз для скорости.
источник

AS

Andrei Solntsev in Selenide на русском
Очевидно, что чем больше символов, тем больше разница в скорости.
источник

SR

Stas Rusakov in Selenide на русском
Ну я просто не пользовался ей ни разу) поэтому не интересовался как она работает) поэтому «загадочная»)
источник

AS

Andrei Solntsev in Selenide на русском
Так может, стоит? На одном моём проекте примерно на 30% тесты быстрее стали.
источник

M

Max in Selenide на русском
И так, рабочий вариант оказался с использованием js
Вариант со вставкой текста из буфера не прокатил по непонятной причине (просто текст не вставлялся и все, в чем хитрость так и не разобрался), вставлял так
StringSelection selection = new StringSelection(text);
      Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
      clipboard.setContents(selection, null);

      getListWithName(listName).find(addCardLocator).click();
      getListWithName(listName).find(newTitleCard).click();
       getListWithName(listName).find(newTitleCard).sendKeys(Keys.CONTROL + "v");
//или так getListWithName(listName).find(newTitleCard).sendKeys(Keys.COMMAND + "v");


при использовании опции fastSetKey визуально текст вписывался быстрее, но это все равно не подошло мне.

Команда для вставки у меня выглядит так (вдруг кто ещё искать будет)

Selenide.executeJavaScript("arguments[0].value='"+text+"';", getListWithName(listName).find(newTitleCard));

в
сем ещё раз спасибо
источник

AS

Andrei Solntsev in Selenide на русском
Ну так fastSetVue примерно так же и работает.
источник

M

Max in Selenide на русском
Но почему то при fastSetValue он именно вписывал текст как при sendKeys, а тут он за один шаг просто вставляет и все
источник

AS

Andrei Solntsev in Selenide на русском
Значит, ты его всё-таки не включил.
источник

M

Max in Selenide на русском
хотя может это у меня уже мозги плавяться) завтра на свежую голову посмотрю ещё раз
источник

AS

Andrei Solntsev in Selenide на русском
НО
Я бы на твоём месте утрочнил бы, а нафига надо 1  90 тысяч символов. Ты же понимаешь, что это бредовое задание?
источник

AS

Andrei Solntsev in Selenide на русском
Кандидата, который без лишних вопросов ломится делать бредовое задание, я бы отсеивал в первую очередь.
источник

M

Max in Selenide на русском
Не, вопрос я конечно задам, там не только по этому. Но все же было интересно как можно побороть это
источник