并发测试数据库更改
重要
Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但有几种建议的替代方法可以考虑迁移到其中。
测试脚本通常会更改外部数据,并针对更改进行测试。 此过程通常包括将数据设置回写入测试的已知或初始状态。 此过程可能会使用具有测试用户的凭据的测试数据库。
此常见方案适用于一次在一台设备上进行单个测试。 如果同时在多台设备上进行测试,测试可能会导致测试数据库中的更改发生冲突。
若要避免发生数据库更改冲突,可以使用以下方法,大致增加复杂性和功能的顺序:
一次只运行一个测试。
不要修改常见数据,也不依赖于测试可能会更改的数据。
模拟测试中的数据。
创建具有唯一凭据的多个测试用户,以便并发设备以不同的用户身份登录。 使用设备索引获取测试运行中每个设备的唯一标识符,并使用标识符查找用户凭据。 此方法仅适用于同一测试运行中的多个设备,而不适用于多个并发测试运行。
Calabash、Appium 和 Xamarin.UITest 中的 App Center 测试脚本可以访问
XTC_DEVICE_INDEX
环境变量。 变量是一个字符串,其范围0
N-1
为,其中N
测试运行的设备数。 在多个设备上并行运行测试时,可以使用此变量来查找凭据。 该变量仅适用于测试脚本,而不适用于正在测试的应用程序。创建一个外部 Web 服务,测试可以在运行时访问以获取一组唯一的凭据。 此解决方案是最复杂的,但也是最通用的解决方案。