Automation works

Let's build automation that definitely works

REST API тестирование. Организация проекта

Наверное каждый, кто занимался UI тестированием приложений, слышал о Page Object и Page Factory патернах проектирования. И, уж точно, каждый из них знает в чем их преимущество. Но когда дело доходит до API, то тут начинается импровизация. Кто как придумал, кто как смог… кто-то формирует запросы в файлах, кто-то в классас, а кто-то и в тест методах не брезгует. Ниже я опишу вам как решал этот вопрос я у себя на проекте. (more…)

Топ 10 фичей решарпера, которые помогут быть вам более продуктивными

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

Regular expression assistance
Ты всегда можешь отредактировать и проверить регулярное выражение прямо в Visual Studio с помощью ReSharper. Подсветка синтаксиса, автодополнение и проверка на ошибки. Если написать выражение прямо в Regex методе

Regex.Match("input", ".*")

то ReSharper подхватет его автоматически, а если это переменная, то решарперу нужно помочь через Alt+Enter => Mark as injected language => Mark as .NET Regular Expression. Автоматизаторы, которые используют в проекте SpecFlow, будут рады вдвойне, так как все перечисленные возможности можно использовать в Step Definition файлах.

Layouts
У себя, в Automation проекте, мы отделяем Page Objects, Steps, Tests на отдельные слои. Степы тоже делятся на Given, When и Then. А еще бывают Helper методы, а еще поля, свойства, конструкторы… и вот если у вас команда растет, то все это приобретает некоторую хаотичность. Понять, что уже реализовано, а что нет становится сложно. Все степы перемешанны, среди них есть методы, а может и конструкторы. Так вот: решение конечно же есть у решарпера. Можно составить свой собственный шаблон для форматирования, а дальше ReSharper все сделает за вас. Если у вас в классе полненйший хаос, то после “чистки” все ваши степы будут разбиты на группы, а в группах отсортированы по имени. Конструкторы вначале, а хелперы вконце. Просто нажми Ctrl+Alt+F.

Go to Everything/Type
Ты помнишь название класса или интерфейса, но не помнишь где он лежит? Просто нажми Ctrl+N, и начни вводить имя класса, ReSharper предложит все варианты совпадений и ты очень быстро сможешь перейти в нужный. А если имя длинное, то его точно не нужно писать полностью. Допустим у нас есть класс NotImplementedException в этом случае достаточно написать только заглавные буквы NIE и ReSharper сразу же предложит вам нужный вариант.

Go to Text for textual search
А если нужно сделать поиск по строкам, то нажимаем Ctrl+N N N. Все, теперь можно искать по строковым литералам. Не нужно открывать окно поиска и потом ходить по результатам, ReSharper сразу же покажет найденный варианты в выпадающем списке.

Go to Action
Не все горячие клавиши решарпера можно запомнить, для этого есть Actions. Установи курсор внутрь скоупа и после нажатия Alt+Enter отобразятся список недавних действий. Начни вводить имя экшина в поле ввода и Resharper выдаст список всех доступных действий по введенному слову.

Go to Related Files
Как найти редактируемый файл в Solution Explorer? Просто Shift+Alt+Enter. Просто выделит файл и перенесёт на него фокус.

Find Usages
Увидеть список всех использований метода, класса или переменной можно с помощью функции Find Usages – горячие клавиши Alt+F7

To-do Explorer
В C# language есть возможность оставлять комментарии, это строка, которая начинается с символов // comment. Если оставлять комментарии в формате //TODO your comment, то ReSharper поможет отследить все такие места и покажет список заданий после нажатия Ctrl+Alt+.

Live templates
Наверное, это моя любимая фича для автоматизатора. Она позволяет создавать умные снипеты и поэтому код можно писать в несколько раз быстрее и удобнее чем раньше.