2012-05-18 12 views
0

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

Не то, что это действительно необходимо, но вот мой код ...

[TestMethod] 
public void uiTestCourseListingPages() { 
    UiBrowserWindow uiBrowserWindow = new UiBrowserWindow(); 
    string controlType = "~/_control/course/courseList.ascx"; 
    var request = WebRequest.Create(Utility.GET_PAGES_WITH_CONTROL_URL + controlType); 
    request.ContentType = "application/json; charset=utf-8"; 

    using(var response = request.GetResponse()) { 
     using(var streamReader = new StreamReader(response.GetResponseStream())) { 
      JavaScriptSerializer serializer = new JavaScriptSerializer(); 
      List<PagesWithControl> pagesWithControl = serializer.Deserialize<List<PagesWithControl>>(streamReader.ReadToEnd()); 
      pagesWithControl.ForEach(x => { 
       // launch browser 
       uiBrowserWindow.launchUrl(x.key); 
       // setup assertions 
       Assert.AreEqual(
        uiBrowserWindow.uiHtmlDocument.searchHtmlElementByAttributeValues<HtmlDiv>(new Dictionary<string, string> { 
         {HtmlDiv.PropertyNames.Class, "footer"} 
        }).Class, 
        "footer" 
       ); 
      }); 
     } 
    } 
} 

ответ

0

Существует перегруженный Assert.AreEqual (объект, объект, строка). Если вы поместите URL-адрес в строку, которая будет отображаться в результатах теста.

0

При сбое CodedUI Test он сохраняет изображение рабочего стола при сбое. Вы можете проверить, создано ли изображение ошибки.

Это по умолчанию создано внутри папки TestResults, которая по умолчанию находится в вашей папке Project. Если ваши тесты работают как часть вашего Team Build или через MTM вы можете изменить путь TestResults по умолчанию путем редактирования параметров тестов:

+0

Я никогда не везло с получая осмысленные результаты результатов теста. Кажется, что MTM или VS всегда блокируют любую полезную информацию. – stoj

+0

Ну, действительно. Он должен отмечать как красную область, где элемент управления не найден или утверждение не сработало, но вы правы, не всегда есть работа, как ожидалось. Но в случае, если вы получаете доступ ко многим страницам, это будет полезно или потрачено впустую дисковое пространство :). – Schaliasos

0

Лучший способ регистрации ошибок чтобы попытаться их схватить. Затем добавьте их в строку, а затем в конце теста утвердите, если строка не пуста.

Этот способ может обеспечить более подробно на ошибки, расположение и т.д.

Видео ниже объясняет, как:

Надежный код, продолжать ошибки http://www.microsoft.com/en-gb/showcase/details.aspx?uuid=65967d59-798b-47ce-9743-534d1c106657

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