Настройка правила извлечения в веб-тестах производительности Visual Studio 2013

Я следую этому руководству для создания моих веб-тестов производительности в VS 2013, и я нашел интересную вещь, которую я не уверен, как понять.

У меня есть веб-приложение. По определенному запросу это приложение возвращает мне страницу, где у меня есть элемент span с атрибутом стиля, равным "color:Blue;". В моем тесте производительности я перехожу на эту страницу, и у меня есть правило извлечения «Извлечь значение атрибута», чтобы получить значение атрибута стиля этого тега span. Когда я настраиваю свое правило для получения атрибута style1 для этого тега, правило дает сбой (что, как я ожидаю), но когда я создаю правило со значением атрибута соответствия "c@l@r-BBBB", оно не срабатывает ( хотя, я ожидаю, что это не удастся).

Кто-нибудь знает, почему?

Вот исходник страницы:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>

</title></head>
<body>
    <form method="post" action="Blue.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="QG+BA5tJt9bUUKK/SNJvCYaITvz71sZMdjWwNGygbhGjjs6Vy/29qy+kskbo3g4Vaz2Zfpi8hlr2F4g366EChHwtM2N676WWg0LBR3+9hc0=" />
</div>

<div class="aspNetHidden">

    <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="D66C0198" />
</div>
    <div>

        <span id="Label1" style="color:Blue;">Blue</span>

    </div>
    </form>
</body>
</html>

Это правило извлечения в .webtest, которое, как я ожидаю, не сработает:

       <ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractAttributeValue, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="ExtractionTest" DisplayName="Extract Attribute Value" Description="Extract the value of an attribute from a specified HTML tag.">
          <RuleParameters>
            <RuleParameter Name="TagName" Value="span" />
            <RuleParameter Name="AttributeName" Value="style" />
            <RuleParameter Name="MatchAttributeName" Value="" />
            <RuleParameter Name="MatchAttributeValue" Value="c@l@r-BBBB" />
            <RuleParameter Name="HtmlDecode" Value="True" />
            <RuleParameter Name="Required" Value="True" />
            <RuleParameter Name="Index" Value="0" />
          </RuleParameters>
        </ExtractionRule>

person Community    schedule 10.04.2015    source источник
comment
В Visual Studio существует несколько правил извлечения. Какой из них вы используете? Не видя html успешных и неуспешных совпадений (не весь html файл, а только соответствующие части), на ваш вопрос нельзя ответить. Пожалуйста, отредактируйте вопрос, чтобы добавить недостающие детали.   -  person AdrianHHH    schedule 10.04.2015
comment
Было бы полезно, если бы вопрос показывал свойства правила извлечения. Можете ли вы показать обе версии соответствующего XML из файла .webtest, весь раздел между <ExtractionRule и </ExtractionRule>.   -  person AdrianHHH    schedule 11.04.2015
comment
Добавлен. Спасибо еще раз :)   -  person    schedule 12.04.2015


Ответы (1)


Я считаю, что вам нужно указать значения как для свойств MatchAttributeName, так и для свойств MatchAttributeValue. документация для ExtractAttributeValue правило не ясно, какие комбинации его свойств поддерживаются. Однако я интерпретирую правило так: ищите тег TagName TagName, где атрибут MatchAttributeName имеет значение MatchAttributeValue, и из этого тега возвращайте значение в AttributeName. Использование этой интерпретации всегда работало для меня.

документация для AttributeName говорит, что он "используется для идентификации атрибута, значение которого вы хотите извлечь", но не говорит, что он используется для сопоставления каких-либо значений. Далее в этой документации говорится, что в некоторых случаях используются MatchAttributeName и (выделено мной) MatchAttributeValue.

person AdrianHHH    schedule 12.04.2015