2014-09-01 4 views
0

Что я имею ввиду по моему вопросу, у меня есть приложение для клавиатуры, которое связано с некоторыми данными JSON. Приложение написано на C#, которое отправляет серверу информацию о клавиатуре и возвращает данные JSON. Разработчик, для которого я пишу тесты, написал код javascript, который представляет данные JSON на экране браузера. Моя задача - написать Jasmine Unit Tests, которые проверяют, скажем, функцию, задача которой - загрузить кнопку на экране. Я могу сделать это, следя за вводом и выводом функции и проверкой того, что я отправляю, это то, что я получаю. Тем не менее, невозможно имитировать щелчок на кнопке или что-то подобное, используя «Фондовый жасмин» и Javascript, или я не знаю, как это сделать. Поскольку Jasmine загружает свой SpecRunner.html для отображения своих результатов, у меня нет способа щелкнуть по кнопке и посмотреть результат теста. Таким образом, в основном вопрос, по существу, сводится к тому, что это. Как изменить Jasmine, чтобы сначала загрузить пользовательский интерфейс приложения, скажем, нажать кнопку, запустить тесты и проверить результаты после этого?Как проверить взаимодействие браузера с помощью Jasmine?

+0

ключевое слово: phantomjs – JimiDini

ответ

0

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

Вместо этого вы можете использовать fixtures в jasmine, которые являются по существу небольшие HTML-фрагменты, которые могут быть либо определены инлайн как часть теста или как HTML-файл, который может быть загружен в spec.

HTML идет внутри fixture, то браузер загружается через SpecRunner.html, вам просто нужно вызвать соответствующие методы, которые связывают события в оказанной арматуру в тесте.

Кроме того, если вы инициируете действия пользователя, которые будут запускать обработчики javascript, вы можете использовать jasmine-jquery. (Который также обеспечивает функциональные возможности прибора)

Проверьте это: jasmine-fixture и jasmine-jquery

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