Вождение нескольких браузеров, которые взаимодействуют друг с другом

StackOverflow https://stackoverflow.com/questions/3753533

Вопрос

У нас есть сложное веб-приложение, которое использует много JavaScript наряду с XMPP и приложением Rails. Он пришел к точке, где нам нужно проверить всю систему с конца до конца. Нам нужно быть в состоянии убедиться, что различные задачи могут быть завершены без ошибок, одна такая задача заключается в том, чтобы договориться о заседании чата в 1 на 1 с другой стороны в системе. Поскольку все задачи на нашем приложении предусматривают пользователей к взаимодействию пользователей, мы хотели бы иметь возможность моделировать это, водительную 2 браузера одновременно связывайтесь с помощью веб-приложения. Я думал об использовании селена или варенье и их функции ожидания, чтобы ждать конкретных вещей, которые произойдут, прежде чем продолжить. Например:

  1. Открыть 2 браузера на нашем сайте
  2. Браузер 1 ждет, чтобы вопрос был опубликован
  3. Браузер 2 публикует вопрос, а затем ожидает получения предложения
  4. Браузер 1 видит вопрос, отправляет предложение и ждет, чтобы он был принят
  5. Браузер 2 видит предложение и принимает его, затем ждет сеанса чата для начала
  6. так далее...

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

Так что мой вопрос, кто-нибудь сделал этот вид тестирования? Если так, какие инструменты вы бы предположили использовать и у вас есть какие-либо советы по написанию тестов?

Нам нужно будет управлять фактическими браузерами, а не без головы, и нужно было бы возможно интегрировать это с нашими CI, мы используем в настоящее время Соусные лаборатории и Selenium как часть нашей настройки CI.

Это было полезно?

Решение

Если честно, это звуки, как оно принадлежит к «что-то не должно автоматизировать» категорию.

Предполагаемые вопросы:

  • Один из браузеров не вращается должным образом, возможно, помещает другой браузер в ситуацию с тупиком до тех пор, пока не раз

  • Если по какой-то причине ваш тест не добился до конца, потому что ваш веб-сервер решил просто медленно, вы получите еще один тупик до ситуации тайм-аута.

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

Я уверен, что есть больше вопросов, но не могут думать их прямо сейчас.

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

С помощью системы чата я бы проверил эту вручную, и именно там, где у вас приложение DogFooding вашему приложению. Получите все в компании (от DEV для OPS и за его пределами), чтобы проверить чат, потому что я уверен, что вы уже делаете что-то из-за своего рода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top