Одновременные изменения базы данных тестирования
Внимание
Центр приложений Visual Studio планируется выйти на пенсию 31 марта 2025 г. Хотя вы можете продолжать использовать Центр приложений Visual Studio до тех пор, пока он не будет полностью прекращен, существует несколько рекомендуемых вариантов, которые можно перенести.
Дополнительные сведения о временной шкале поддержки и альтернативах.
Тестовые скрипты часто изменяют внешние данные и тестируют изменения. Процесс обычно включает настройку данных обратно в известное или начальное состояние, на которое были записаны тесты. Этот процесс может использовать тестовую базу данных с учетными данными для тестового пользователя.
Этот распространенный сценарий хорошо подходит для одного теста на одном устройстве одновременно. При одновременном тестировании на нескольких устройствах тесты могут вызвать конфликтующие изменения в тестовой базе данных.
Чтобы избежать конфликтующих изменений базы данных, можно использовать следующие подходы, примерно увеличивая порядок сложности и мощности:
Одновременно выполняйте только один тест.
Не изменяйте общие данные или не полагаться на данные, которые могут измениться тесты.
Издеваться над данными в тестах.
Создайте нескольких тестовых пользователей с уникальными учетными данными, поэтому одновременные устройства войдите в систему в качестве разных пользователей. Используйте индекс устройства, чтобы получить уникальный идентификатор для каждого устройства в тестовом запуске и использовать идентификатор для поиска учетных данных пользователя. Этот подход работает только для нескольких устройств в одном тестовом запуске, а не для нескольких параллельных тестов.
Тестовые скрипты Центра приложений в Калабаше, Appium и Xamarin.UITest могут получить доступ к переменной
XTC_DEVICE_INDEX
среды. Переменная — это строка с диапазоном0
N-1
, в которойN
находится число устройств, на которых выполняется тест. Эту переменную можно использовать для поиска учетных данных при параллельном выполнении теста на нескольких устройствах. Переменная доступна только для тестового скрипта, а не для приложения, на который выполняется тестирование.Создайте внешнюю веб-службу, которая тестирует доступ во время выполнения, чтобы получить уникальный набор учетных данных. Это решение является самым сложным, но и самым общим.