2015-07-21 4 views
1

При автоматическом тестировании опыта покупок на веб-сайте я пытаюсь проверить правильность подсчета, суммы и налога. Поскольку цена и/или налог будут меняться в будущем, я не могу просто утверждать фактическое значение цены внутри элемента управления. Вместо этого мне нужно будет построить расчет, основанный на самих элементах управления, и утверждать, что количество, умноженное на индивидуальную цену за каждый добавленный элемент, равно промежуточному итогу и так далее.Visual Studio 2012 - кодированный пользовательский интерфейс для тестирования: формула утверждения?

Например, сказать, что мои элементы управления для каждого из них названы такие (имена управления находятся в звездочками):

Quantity = *UIItem2Cell* 
(InnerText has a Value of 2) 

Individual Price = *UIItem249Pane* 
(DisplayText has a value of 2.49) 

Individual Product Total (price x qty) = *UIItem498Pane* 
(InnerText has a Value of 4.98) 

Вместо проверки значения являются действительными числами, можно записать формулу утверждение, используя идентификаторы как переменные?

Имейте в виду, что я использую Coded Test Builder вместо того, чтобы писать код прямо.

Если утверждение компаратор Индивидуальный продукт Всего InnerText является AreEqual, может быть сравнение Значение что-то вроде:

UIItem2Cell-InnerText * UIItem249Pane-DisplayText 

А. Является ли это своего рода формула возможного?

B. Если да, то как его написать?

(Пожалуйста, простите меня, так как я очень зеленый, когда речь заходит об этом.)

ответ

0

Вы, безусловно, может. Во-первых, в вашем приложении было бы очень полезно использовать IDs на ваших элементах управления, чтобы вы могли соответствовать только этим критериям. таким образом, вы не используете рассчитанные значения для критериев поиска.

Теперь, как это в вашем вопросе вам нужно будет тянуть эти значения из ячеек, вычислить Value и использовать его в вашем Search Criteria

// I'd recommend trimming text values: 
// depending on how tables and such are rendered you'll have extra white-space characters 
var firstValue = Double.Parse(UIItem2Cell.InnerText.Trim()); 
var secondValue = Double.Parse(UIItem249Pane.DisplayText.Trim()); 
var calculatedValue = string.Format("{0,N2}%", firstValue * secondValue); 

// assuming your in a web app 
var totalDiv = new HtmlDiv(currentHtmlDoc); 
totalDiv.SearchProperties.Add(new PropertyExpression(HtmlDiv.PropertyNames.InnerText, calculatedValue, PropertyExpressionOperator.Contains)); 
Assert.IsTrue(totalDiv.TryFind()); 
SringAssert.Contains(totalDiv.InnerText,calculatedValue); 

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

  • Нет связанных вопросов^_^