У меня есть 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"
);
});
}
}
}
Я никогда не везло с получая осмысленные результаты результатов теста. Кажется, что MTM или VS всегда блокируют любую полезную информацию. – stoj
Ну, действительно. Он должен отмечать как красную область, где элемент управления не найден или утверждение не сработало, но вы правы, не всегда есть работа, как ожидалось. Но в случае, если вы получаете доступ ко многим страницам, это будет полезно или потрачено впустую дисковое пространство :). – Schaliasos