Поделиться через


Добавление источника данных в веб-тест производительности

Привязка данных позволяет предоставлять разные значения для одного и того же теста — например, предоставлять разные значения для параметров отправки форм.

Привязка данных в веб-тесту производительности

Будет использован пример приложения ASP.NET. Оно содержит три ASPX-страницы — страницу по умолчанию, страницу "Красная" и страницу "Синяя". На странице по умолчанию расположены переключатель, позволяющий выбирать "Красная" или "Синяя", и кнопка "Отправить". Две другие aspx-страницы очень просты. Одна имеет метку "Красная", а другая — метку "Синяя". При нажатии кнопки "Отправить" на странице по умолчанию открывается одна из других страниц. Можно создать подобное приложение, загрузить наш пример или просто следовать указаниям для собственного веб-приложении.

Запуск веб-приложения, подлежащего тестированию

Решение должно также включать веб-тест производительности, просматривающий страницы веб-приложения, как в проекте ColorWebAppTest, созданном в разделе Запись и выполнение веб-теста производительности [перенаправлено].

Решение с веб-тестом производительности

Создание базы данных SQL

  1. Если у вас нет системы Visual Studio Ultimate, получите ее здесь.

  2. Создайте базу данных SQL.

    Добавление новой базы данных SQL

  3. Создайте проект базы данных.

    Создание нового проекта из базы данных

  4. Добавьте таблицу в проект базы данных.

    Добавление новой таблицы в проект базы данных

  5. Добавьте поля в таблицу.

    Добавление полей в таблицу

  6. Опубликуйте проект базы данных.

    Публикация проекта базы данных из обозревателя решений

  7. Добавьте данные в поля.

    Добавление данных в поля

Добавление источника данных

  1. Добавьте источник данных.

    Добавление источника данных в веб-тест производительности

  2. Выберите тип источника данных и дайте ему имя.

    Присвоение имени источнику — базе данных

  3. Создайте подключение.

    Выбор нового подключения

    Введите сведения о подключении.

    Ввод свойств подключения к базе данных SQL

  4. Выберите таблицу, которую требуется использовать для теста.

    Добавление таблицы Color в качестве источника данных

    Таблица привязана к тесту.

    Добавление узла "Источник данных" в веб-тест производительности

  5. Сохраните тест.

Привязка данных

  1. Привяжите поле ColorName.

    Привязка поля ColorName к значению RadioButtonList1

  2. Откройте файл в обозревателе решений Local.testsettings и выберите параметр одного выполнения на источник данных.

    Изменение файла параметров тестирования

  3. Сохраните веб-тест производительности.

Выполнение теста с данными

  1. Запустите тест.

    Запуск веб-теста производительности для проверки привязки

    Два запуска отображаются для каждой строки данных. Запуск 1 отправляет запрос страницы Red.aspx, а запуск 2 отправляет запрос страницы Blue.aspx.

    Результаты выполнения теста

    При привязке к источнику данных можно нарушить правило URL-адреса отклика по умолчанию. В этом случае ошибка в запуске 2 вызвана правилом, которое ожидает получить страницу Red.aspx из исходной записи теста, но привязка данных теперь направляет его на страницу Blue.aspx.

  2. Исправьте ошибку проверки, удалив правила проверки URL-адреса отклика, и снова запустите тест.

    Удаление правила проверки URL-адреса отклика

    Теперь веб-тест производительности проходит успешно с использованием привязки данных.

    Тест проходит с использованием привязки данных

Вопросы и ответы

Вопрос. Какие базы данных можно использовать в качестве источника данных?

Ответ. Можно использовать следующие базы данных.

  • Microsoft SQL Azure.

  • Любая версия Microsoft SQL Server 2005 или выше.

  • Файл базы данных Microsoft SQL Server (включая SQL Express).

  • Microsoft ODBC.

  • Файл Microsoft Access, использующий для OLE DB поставщика .NET Framework.

  • Oracle 7.3, 8i, 9i или 10g.

Вопрос. Можно ли использовать текстовый CSV-файл в качестве источника данных?

Ответ. Да.

  1. Создайте папку, чтобы организовать артефакты базы данных проекта и добавить элемент.

    Добавление нового элемента в папку "Данные"

  2. Создание текстового файла.

    Присвоение новому текстовом файлу имени ColorData.csv

  3. Измените текстовый файл и добавьте в него следующий текст:

    ColorId, ColorName
    0,Red
    1,Blue
    
  4. Используйте инструкции в разделе Привязка данных SQL, но в качестве источника данных выберите CSV-файл.

    Ввод имени и выбор CSV-файла

Вопрос. В моем CSV-файле нет заголовков столбцов. Как действовать в этом случае?

Ответ. Если нет возможности добавить заголовки столбцов, можно использовать файл описания схемы, чтобы рассматривать CSV-файл как базу данных.

  1. Добавьте новый текстовый файл с именем schema.ini.

    Добавление файла schema.ini

  2. Измените файл schema.ini, добавив в него сведения, описывающие структуру данных. Например, файл схемы, описывающий CSV-файл, может выглядеть следующим образом.

    [testdata.csv]
    ColNameHeader=False
    
  3. Добавьте источник данных в тест.

    Добавление источника данных в веб-тест производительности

  4. Если используется файл schema.ini, выберите базу данных (не CSV-файл) в качестве источника данных и присвойте ей имя.

    Добавление базы данных в качестве источника данных

  5. Создайте новое подключение.

    Выбор нового подключения

  6. Выберите поставщика данных платформы .NET Framework для OLE DB.

    Выбор поставщика данных .NET Framework для OLE DB

  7. Выберите Дополнительно.

    Выберите "Дополнительно"

  8. Для свойства "Поставщик" выберите значение Microsoft.Jet.OLEDB.4.0, а затем установите для параметра "Расширенные свойства" значение Text;HDR=NO.

    Применение дополнительных свойств

  9. Введите имя папки, в которой находится файл схемы, и проверьте подключение.

    Ввод пути к папке данных

  10. Выберите CSV-файл, который следует использовать.

    Выбор текстового файла

    После этого CSV-файл отображается как таблица.

    Источник данных добавлен в тест

Вопрос. Как использовать XML-файл в качестве источника данных?

Ответ. Да.

  1. Создайте папку, чтобы организовать артефакты базы данных проекта и добавить элемент.

    Добавление нового элемента в папку "Данные"

  2. Создайте XML-файл.

    Добавление файла ColorData.xml

  3. Отредактируйте XML-файл и добавьте свои данные:

    <?xml version="1.0" encoding="utf-8" ?>
    <ColorData>
        <Color>
            <ColorId>0</ColorId>
            <ColorName>Red</ColorName>
        </Color>
        <Color>
            <ColorId>1</ColorId>
            <ColorName>Blue</ColorName>
        </Color>
    </ColorData>
    
  4. Используйте инструкции в разделе Привязка данных SQL, но в качестве источника данных выберите XML-файл.

    Ввод имени и выбор XML-файла

Вопрос. Можно ли добавить привязку данных в запрос веб-службы, которая использует SOAP?

Ответ. Да, необходимо изменить протокол SOAP XML вручную.

  1. Выберите запрос веб-службы в дереве запросов и в окне "Свойства" выберите многоточие (…) в свойстве "Текст строки".

    Редактирование тела строки веб-службы

  2. Замените значения в тексте SOAP значениями привязанных данных с помощью следующего синтаксиса.

    {{DataSourceName.TableName.ColumnName}}
    

    Например, предположим, что имеется следующий код:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
            <CheckStatus xmlns="http://tempuri.org/">
                <userName>string</userName>
                <password>string</password>
                <orderID>int</orderID>
            </CheckStatus>
        </soap:Body>
    </soap:Envelope>
    

    Можно изменить его на следующий код:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
            <CheckStatus xmlns="http://tempuri.org/">
                <userName>{{DataSourceName.Users.Name}}</userName>
                <password>{{DataSourceName.Users.Password}}</password>
                <orderID>{{DataSourceName.Orders.OrderID}}</orderID>
            </CheckStatus>
        </soap:Body>
    </soap:Envelope>
    
  3. Сохраните тест.