Size: a a a

QA — Автоматизация

2020 April 07

AK

Andrey K in QA — Автоматизация
Kto?
Подскажите плз, уже попробовал разные варианты, в джемейле, внутри письма не могу прокрутить скрол вниз, надо конкретно интерфейс проверять, может кто сталкивался с такой проблемой и как решал, спасибо заранее)
Если быть точнее, то как-то так:
public void Scroll_Down_Div(IWebElement div, int x)
       {
           ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scroll(0," + x + ")", div);
       }


где div - это как раз контрол скролла.
источник

EG

Edward Galiaskarov in QA — Автоматизация
Добрый день.

Я еще новичок в тестирование веб приложений. Работаю с cucumber + capybara.

Возникло затруднение при работе с select. Он построен на Select2.

Проблема сложилась в определенном месте. Программист на базе select2 реализовал фильтры по таблице. Список инициализируется, при его открытии. Эту задачу я решил:

$('#id_select').select2('open')

После заполнения, я выбираю элемент списка.
Делал разными способами
через методы capybara
find("//select[@id='#{select_id}']/option[contains(text(),'#{text}')]").click
через исполнение jquery
page.execute_script("$('##{select_id}').val('#{num}').trigger('change')")

Проверял все эти способы через консоль. Все одинаково.
Элемент списка выбирается, подставляется, но не срабатывает событие onclick или соответствующее ему, в результате таблица (компонент handsontable) не обновляется, фильтр не накладывается

Кто-то может помочь с этой проблемой?
источник

s

sagitt in QA — Автоматизация
всем привет. кто-то сталкивался с ситуацией, что после обновления студии аппиум не может подцепить эмулятор?  до обновления пару недель назад все работало корректно.
источник

AK

Andrey K in QA — Автоматизация
Edward Galiaskarov
Добрый день.

Я еще новичок в тестирование веб приложений. Работаю с cucumber + capybara.

Возникло затруднение при работе с select. Он построен на Select2.

Проблема сложилась в определенном месте. Программист на базе select2 реализовал фильтры по таблице. Список инициализируется, при его открытии. Эту задачу я решил:

$('#id_select').select2('open')

После заполнения, я выбираю элемент списка.
Делал разными способами
через методы capybara
find("//select[@id='#{select_id}']/option[contains(text(),'#{text}')]").click
через исполнение jquery
page.execute_script("$('##{select_id}').val('#{num}').trigger('change')")

Проверял все эти способы через консоль. Все одинаково.
Элемент списка выбирается, подставляется, но не срабатывает событие onclick или соответствующее ему, в результате таблица (компонент handsontable) не обновляется, фильтр не накладывается

Кто-то может помочь с этой проблемой?
Если дев сделал обработку события ОнКлик - делайте ОнКлик...
источник

EG

Edward Galiaskarov in QA — Автоматизация
Andrey K
Если дев сделал обработку события ОнКлик - делайте ОнКлик...
Типа такого?
var $example = $(".js-example-programmatic").select2();

$(".js-programmatic-set-val").on("click", function () {
   $example.val("CA").trigger("change");
});
источник

AK

Andrey K in QA — Автоматизация
Edward Galiaskarov
Типа такого?
var $example = $(".js-example-programmatic").select2();

$(".js-programmatic-set-val").on("click", function () {
   $example.val("CA").trigger("change");
});
Наверно. Я сам на C# пишу... Многие проблемы которые тут обсуждают я вообще не наблюдаю. Могу лишь подсказать ЧТО сделать, но не КАК (т.е. код).
источник

EG

Edward Galiaskarov in QA — Автоматизация
Andrey K
Наверно. Я сам на C# пишу... Многие проблемы которые тут обсуждают я вообще не наблюдаю. Могу лишь подсказать ЧТО сделать, но не КАК (т.е. код).
вот и не понятно, сам дев говорит делаю так
$("#bill #level_filter" + i).val(num).trigger('change');
я также делаю, но не срабатывает
источник

EG

Edward Galiaskarov in QA — Автоматизация
Andrey K
Если дев сделал обработку события ОнКлик - делайте ОнКлик...
А что значит в данном случае OnClick, понимаю Вы пишите на C#, но все равно действия в целом должны быть одинаковые.
источник

AK

Andrey K in QA — Автоматизация
Edward Galiaskarov
А что значит в данном случае OnClick, понимаю Вы пишите на C#, но все равно действия в целом должны быть одинаковые.
OnClick - событие, о котором ваш дев писал.

Если бы у меня бала такая задача, то шаги был б такие:
1) ткнуть в select
2) убедиться, что элементы option стали Displayed
3) ткнуть в option
4) убедиться, что что-то изменилось (что-то ведь должно было измениться)
источник

EG

Edward Galiaskarov in QA — Автоматизация
Все так и делаю
1 открываю список чтобы его инициализировать - просто так там не ткнешь, потому я делаю $('#idсписка').select2('open') -эта команда открывает список и одновременно инициализирует его заполнение - в ходе теста этот список открывается
2 выбираю нужный элемент (делал разными способами), кликаю - он подставляется в поле фильтра

ожидаю, что таблица должна измениться, число записей уменьшится
этого в тесте не происходит, и он подает из-за не соответствия данных

посылка тригерра выбранному option == ткнуть в option?
или исполнения click по выбранному option == ткнуть в option?
источник

s

sagitt in QA — Автоматизация
может кто-то сможет все же подсказать всем привет, кто -то может подсказать как победить Unable to open connection to: localhost/127.0.0.1:5037, due to: java.net.ConnectException: Connection refused: connect  ? 2 недели назад все было ок. Потом обновление студии. Сегодня запускаю тесты - получаю ошибку. Полдня попыток. 1 раз запустилось. Потом снова отвалилось.  Что или где могло прописаться? в инете 100500 топиков с разными вариантами, вплоть до кириллицы в названии папок. но у меня этого нет.
источник

EG

Edward Galiaskarov in QA — Автоматизация
Andrey K
OnClick - событие, о котором ваш дев писал.

Если бы у меня бала такая задача, то шаги был б такие:
1) ткнуть в select
2) убедиться, что элементы option стали Displayed
3) ткнуть в option
4) убедиться, что что-то изменилось (что-то ведь должно было измениться)
Решение обнаружилось
нужно делать так оказалось:
$("#level_filter").val('01').trigger('select2:select')
источник

AD

Aleksandr D in QA — Автоматизация
Всем привет!
Использую .net + Specflow 3+
Подскажите, можно ли и получить значение из блока Examples в методе, который не использует это значение напрямую?
Если конкретнее, можно ли и как в методе шага "Тогда значение Y возвращается в ответе метода" получить через ScenarioContext значение Y чтобы использовать его в сравнении?

Пример сценария:
=========
Структура сценария: Метод X
 Допустим значение Y = <Y>
 Когда вызывается метод X
 Тогда значение Y возвращается в ответе метода

Примеры:
| Y |
| 1 |
источник

B

Bola in QA — Автоматизация
что-то нет тут хейтеров огурца )
варианты:
1) в шаге "вызывается метод X"  - результат сохраняем в переменную, на следующем степе проверяем значение этой переменной. Чтобы в шаге это было видно - можно написать "вызывается метод X и результат сохраняется в переменной "result"", а последний шаг превратить в типа: "Переменная "result"  содержит значение <Y>"
2) два последних шага объединить в один
3) первый степ убираем, остаются:
Когда вызывается метод Х со значением Y=<Y>
Тогда — вот тут описывается не на уровне переменных, а результат словесный, какой нужен, например: "Тогда заявка имеет статус Завершен" или "Тогда товар куплен".
Чистый BDD. Пишешь по-человечески.  Можно и первый степ заменить на "Когда мы покупаем товар с параметром <Y>", "Тогда товар имеет статус "Забронирован"". Суть надеюсь понятна.

Но все это спорно. Надо брать тот вариант, который удобнее.
источник

AD

Aleksandr D in QA — Автоматизация
Bola
что-то нет тут хейтеров огурца )
варианты:
1) в шаге "вызывается метод X"  - результат сохраняем в переменную, на следующем степе проверяем значение этой переменной. Чтобы в шаге это было видно - можно написать "вызывается метод X и результат сохраняется в переменной "result"", а последний шаг превратить в типа: "Переменная "result"  содержит значение <Y>"
2) два последних шага объединить в один
3) первый степ убираем, остаются:
Когда вызывается метод Х со значением Y=<Y>
Тогда — вот тут описывается не на уровне переменных, а результат словесный, какой нужен, например: "Тогда заявка имеет статус Завершен" или "Тогда товар куплен".
Чистый BDD. Пишешь по-человечески.  Можно и первый степ заменить на "Когда мы покупаем товар с параметром <Y>", "Тогда товар имеет статус "Забронирован"". Суть надеюсь понятна.

Но все это спорно. Надо брать тот вариант, который удобнее.
спасибо за ответ! я думал о таком варианте, но возможно есть вариант получения значения через сохраняемое в ScenarioContext значение. В интернете не нашел такой вариант, хотя внутри ScenarioContext не очень удобно, но выковырять значения можно, через костыли. Скорее всего остановлюсь на описанном вами варианте, хотя он получится более громоздким ввиду количества параметров в тесте (в примере он один, а в реальном моем тесте их 2 и в других тестах может быть больше).
источник

B

Bola in QA — Автоматизация
или я не понял вопроса - а разве нельзя так сделать - и ты получишь значение Y, а получишь Y - так же как и в первом шаге
Тогда значение "<Y>" возвращается в ответе метода
источник

AD

Aleksandr D in QA — Автоматизация
Bola
или я не понял вопроса - а разве нельзя так сделать - и ты получишь значение Y, а получишь Y - так же как и в первом шаге
Тогда значение "<Y>" возвращается в ответе метода
кстати да, я что-то не подумал о таком варианте, так и сделаю, вариант рабочий как мне кажется. спасибо!
источник

И

Игорь in QA — Автоматизация
Коллеги, доброго дня.  А подскажите мне, средствами Selenium IDE удалить куки браузера не получится, зря я настойчиво гуглю?
источник

РН

Роман Новиков in QA — Автоматизация
всем привет, тут есть НТ тестировщики?
источник

BO

Boris Osipov in QA — Автоматизация
Роман Новиков
всем привет, тут есть НТ тестировщики?
источник