Я ищу совета о том, как лучше всего протестировать (с помощью автоматизации) угловое веб-приложение.
Я копался на многих сайтах, глядя на то, что делают другие люди. Я также настроил фреймворк и закодировал небольшой набор тестов в Selenium/Jasmine/Protractor, которые отлично сработали. Пока... Мне не нужно было бездумно интегрировать его в наши сборки CI. Я попробовал PhantomJS, и, хотя он иногда работает до конца, он невероятно глючит и ненадежен для этой задачи или с этим стеком, или для того и другого. ;-).
Я готов изменить свой стек и немного перекодировать (мы не настолько углубились в разработку), если я знаю, что могу соответствовать следующим параметрам (в порядке приоритета):
- Код будет работать без головы на нашем CI-сервере, который является Win с TeamCity (мы можем портировать его на Mac, поэтому, если он тоже будет работать на нем... бонусные баллы)
- Код будет работать локально на моем винбоксе с основными браузерами.
- Код будет работать в Browserstack/Saucelabs (это не обязательно)
Я буквально провел много дней, пытаясь заставить Phantom играть хорошо. Концепция великолепна, но поддержка кажется сомнительной, равно как и реализация и последующие действия. Я также наткнулся на несколько списков безголовых браузеров, и ни один из них, похоже, не соответствует тому, что мне нужно (хотя на самом деле я пока не пробовал другие... Я хотел сначала опубликовать этот запрос для совета).
Итак, есть ли способ сделать это, который будет надежным (по крайней мере, таким же надежным, как код, который я пишу, это действительно все, о чем я прошу) и масштабируемым в соответствии с моими требованиями выше?
Я новичок в тестировании угловых сайтов и в JS, и я полностью открыт для любых/всех предложений. Ваши мысли очень ценятся. -- брент