Браузерные тесты с использованием закодированного пользовательского интерфейса

Как мне написать следующие тесты, написанные на Watin с использованием CodedUI

Я пытаюсь изучить CodedUI, но действительно борюсь

[Test]

public void SearchForWatiNOnGoogle()

{

using (var browser = new IE("http://www.google.com"))

 {

   browser.TextField(Find.ByName("q")).TypeText("WatiN");

   browser.Button(Find.ByName("btnG")).Click();

  Assert.IsTrue(browser.ContainsText("WatiN"));

 }
}

person Shrikant Khadilkar    schedule 30.07.2012    source источник


Ответы (2)


Вы можете найти некоторую помощь по одной из этих ссылок: http://blogs.msdn.com/b/gautamg/archive/2009/12/18/why-is-coded-ui-test-сгенерированный-код-не-прямолинейный-код.aspx — это сообщение в блоге на MSDN, в котором рассказывается о коде, сгенерированном при записи теста. К нему прилагается пример проекта, который вы можете рассмотреть.

Как я уже сказал в другом вашем вопросе, лучший способ — это создавать записи. На MSDN также есть небольшое пошаговое руководство, здесь: http://msdn.microsoft.com/en-us/library/ff977233.aspx. Здесь показан процесс записи теста, создания и поддержки кода для него.

Я настоятельно рекомендую вам внимательно прочитать эти две статьи.

person mejdev    schedule 30.07.2012
comment
Спасибо Vi3GameHkr, я пройду через это. Я пытался записывать тесты, но сгенерированный код был очень громоздким, надеюсь, я начну его осваивать через пару дней. - person Shrikant Khadilkar; 30.07.2012
comment
В этом случае первая статья будет для вас наиболее полезной. Если у меня есть совет, который я мог бы передать из своего опыта, он заключается в том, чтобы выполнять как можно меньше действий в каждом методе, а затем практиковаться в повторном использовании! - person mejdev; 31.07.2012

Тесты WatiN и Visual Studio Coded UI отличаются. «Закодированные тесты пользовательского интерфейса» относятся к собственным инструментам тестирования пользовательского интерфейса Visual Studio. WatiN — это другой тестовый фреймворк.

Лично мне WatiN не нравится из-за того, что он долго пишет тесты и ненадежно воспроизводит тесты (по крайней мере, исходя из моего опыта). Тесты Visual Studio Coded UI я предпочитаю больше, потому что они предоставляют средство записи тестов, которое автоматически генерирует тестовый код, и графический редактор тестов, в то же время предоставляя вам гибкость для самостоятельного редактирования тестового кода.

Я добился большего успеха с тестами пользовательского интерфейса, закодированными в Visual Studio. Лучшее, что вы можете сделать, чтобы начать создавать тесты с использованием тестов пользовательского интерфейса VS Coded, — это прочитать документацию MSDN, в частности обязательно прочитайте 'Анатомия закодированного теста пользовательского интерфейса', чтобы получить зависание для сгенерированного кода. Прочитайте каждую статью в документации, поскольку она проходит через весь процесс, от записи тестов до редактирования, их поддержки и лучших практик.

Кроме того, убедитесь, что вы загрузили Visual Studio Feature Pack 2, чтобы иметь возможность использовать графический редактор тестов, который полезен при создании и редактировании тестов.

Что действительно отталкивает от WatiN (помимо его ненадежности), так это то, что на самом деле у него нет надлежащей документации, поэтому может быть трудно понять, как обращаться с элементами. Я считаю, что вам следует отказаться от WatiN и использовать тесты пользовательского интерфейса, закодированные в Visual Studio, если они вам доступны. Самое замечательное в тестах пользовательского интерфейса, закодированных в Visual Studio, заключается в том, что они могут обрабатывать незначительные изменения в пользовательском интерфейсе и автоматически адаптируются. WatiN не может этого сделать.

person Ciaran Gallagher    schedule 31.07.2012
comment
Ciaran G, с какими проблемами вы столкнулись с WatiN? - person Shrikant Khadilkar; 16.08.2012
comment
Мне лично казалось, что сообщения об ошибках появляются непоследовательно, почти случайным образом. Часто тесты не могли найти элементы на страницах без уважительной причины - вместо этого они выдавали ошибки, подобные тем, которые я подробно описываю здесь: stackoverflow.com/questions/11153205/ - person Ciaran Gallagher; 17.08.2012
comment
Удивительно, но WatiN без проблем работал со мной, и я этому очень рад. Единственная причина, по которой я пытаюсь изучить закодированный пользовательский интерфейс, заключается в том, что мои клиенты здесь не открыты для открытого исходного кода. Теперь у нас есть собственный фреймворк, встроенный в excel, который генерирует тестовый скрипт (файл excel). Этот файл читается механизмом QTP и выполняет действия и проверки в приложении. Я успешно построил такой же движок в WatiN, и он работает без проблем. - person Shrikant Khadilkar; 17.08.2012
comment
Теперь, поскольку вы, кажется, хорошо разбираетесь в закодированном пользовательском интерфейсе, позвольте мне спросить вас вот о чем? можно ли вообще сделать это с помощью закодированного пользовательского интерфейса, прочитать инструкции из excel, а затем выполнить эти действия в приложении. Извините, но я не хочу ничего записывать и играть. Я искал API, похожий на selenium, watin, который дает мне возможность 1. Находить элементы на веб-странице 2. Взаимодействовать с обнаруженными элементами (щелчок, чтение, выбор, отправка) 3. Запуск javascript - person Shrikant Khadilkar; 17.08.2012