Применение Selenium WebDriver для тестирования MS Dynamics CRM

от автора

В данной статье не будет рассказано, что такое Selenium и Selenium WebDriver – по этому поводу написано уже множество замечательных статей.

Здесь я хочу привести лишь небольшой пример того, как можно протестировать клиентский код в MS Dynamics CRM.

Но думаю, парой слов о Selenium WebDriver обмолвиться все же можно.
Итак, Selenium WebDriver – это библиотека, которая позволяет управлять браузером: давать браузеру какие-то команды, заполнять элементы UI, считывать значения, запускать скрипты.

Итак, поехали!

Перво-наперво создадим стандартный Unit Test Project.

Visual Studio заботливо создаст для нас класс теста и метод теста – переименуем их в соответствии с нашей предметной областью.

Затем мы установим следующие штуки посредством nuget: Selenium.WebDriver и WebDriverIEDriver (коли IE является дефолтным браузером для MS Dynamics CRM).

Ну почти всю работу мы сделали:)
Теперь остается написать только наш юнит-тест.

Проверять наш тест будет следующий case: существует два поля «Предполагаемая сумма» и «Взвешенная сумма», при этом «Взвешенная сумма» должна равняться 30% от «Предполагаемая сумма». И данное значение должно устанавливаться клиентским скриптом.

namespace CrmSeleniumUnitTest {     [TestClass]     public class OpportunityTests     {         [TestMethod]         public void WeightedSummCalculate()         {             decimal estimatedValue = 1000m;             decimal expectedWeightedValue = estimatedValue * 0.3m;              string contentFrame = "contentIFrame";             string estimatedValueId = "estimatedvalue";             string weightedEstimatedValueId = "isv_weightedestimatedvalue";             string weightedEstimatedValueAttribute = "value";              var driver = new InternetExplorerDriver();              driver.Navigate().GoToUrl("https://test.crm.crm");                          driver.SwitchTo().Frame(contentFrame);              var estimatedValueElement = driver.FindElement(By.Id(estimatedValueId));              estimatedValueElement.Clear();             estimatedValueElement.SendKeys(Keys.Tab);             estimatedValueElement.SendKeys(estimatedValue.ToString(CultureInfo.InvariantCulture));             estimatedValueElement.SendKeys(Keys.Tab);              Thread.Sleep(10000);              var weightedValueElement = driver.FindElement(By.Id(weightedEstimatedValueId));              var actualWeightedValue = Decimal.Parse(weightedValueElement.GetAttribute(weightedEstimatedValueAttribute),CultureInfo.InvariantCulture);              driver.Quit();              Assert.AreEqual(expectedWeightedValue, actualWeightedValue);         }     } } 

Запускаем тест.

Ну вот и все — коротенько и по делу:)

ссылка на оригинал статьи http://habrahabr.ru/post/274001/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *