2016-01-21 5 views
0

У меня есть рубиновый скрипт, который работает с Capybara, используя драйвер хрома селена. Тест проводит навигацию по сайту, в неизвестное время появится уведомление, которое должно быть закрыто.Capybara, получающий один и тот же сеанс из двух потоков

Возможно ли, что второй поток, который проводит опрос драйвера, проверяет наличие уведомления, пока сценарий продолжает выполнение теста.

Я пробовал несколько разных подходов, но получаю такие ошибки, как Bad file descriptor (Errno::EBADF), который, по-видимому, связан с тем, что сеанс/драйвер не является потокобезопасным.

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

+0

Я думаю, что селен имеет некоторые «закрыть все предупреждения» флаг ... Но я могу ошибаться. Позвольте мне проверить документы – sheeptest

+0

Это не предупреждение, это уведомление html, которое является частью DOM веб-приложения. –

+0

Зачем нужно закрывать уведомление? Является ли эта часть теста или побочным эффектом веб-сайта? Если вы оставите его открытым, что произойдет с веб-сайтом? Как правило, я стараюсь работать вокруг боковых аффектов пользовательского интерфейса и только щелкнуть/позаботиться о том, что необходимо. Вы знаете, что ваше приложение лучше всего, но иногда ожидание и нажатие на неопределенное событие ui - хороший способ получить висячий набор тестов. – sheeptest

ответ

Смежные вопросы