You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure中按测试套件指定的顺序运行C# Selenium自动化测试用例

如何在Azure中按测试套件指定的顺序运行C# Selenium自动化测试用例

我来帮你搞定这个需求!要让Azure严格按照你测试套件里的自定义顺序(比如Test4→Test2→Test1→Test3)执行C# Selenium测试,得从测试代码标记和Azure任务配置两方面配合操作,具体步骤如下:

一、给测试用例添加顺序标记(根据你用的测试框架)

首先得在代码里给每个测试方法指定执行顺序,不同的.NET测试框架有不同的实现方式:

1. 如果你用的是MSTest

直接用[TestOrder(n)]属性,n对应你想要的执行顺序编号:

[TestClass]
public class SeleniumTestSuite
{
    [TestMethod]
    [TestOrder(1)] // 第一个执行,对应套件里的Test4
    public void Test4()
    {
        // 你的Selenium测试逻辑
    }

    [TestMethod]
    [TestOrder(2)] // 第二个执行,对应套件里的Test2
    public void Test2()
    {
        // 你的Selenium测试逻辑
    }

    [TestMethod]
    [TestOrder(3)] // 第三个执行,对应套件里的Test1
    public void Test1()
    {
        // 你的Selenium测试逻辑
    }

    [TestMethod]
    [TestOrder(4)] // 第四个执行,对应套件里的Test3
    public void Test3()
    {
        // 你的Selenium测试逻辑
    }
}

2. 如果你用的是NUnit

使用[Order(n)]属性,用法和MSTest类似:

[TestFixture]
public class SeleniumTestSuite
{
    [Test, Order(1)]
    public void Test4() { /* 测试逻辑 */ }

    [Test, Order(2)]
    public void Test2() { /* 测试逻辑 */ }

    [Test, Order(3)]
    public void Test1() { /* 测试逻辑 */ }

    [Test, Order(4)]
    public void Test3() { /* 测试逻辑 */ }
}

3. 如果你用的是xUnit

xUnit默认不支持测试顺序,需要借助第三方库Xunit.Orderer:

  • 先安装NuGet包 Xunit.Orderer
  • 在项目根目录创建xunit.runner.json文件,设置其属性为「复制到输出目录」,内容如下:
{
  "testCaseOrderer": "Xunit.Orderer.TestCaseOrderer.PriorityOrderer, Xunit.Orderer",
  "parallelizeTestCollections": false // 必须关闭并行,否则顺序会乱
}
  • 然后给测试方法添加[Priority(n)]属性指定顺序:
public class SeleniumTestSuite
{
    [Fact, Priority(1)]
    public void Test4() { /* 测试逻辑 */ }

    [Fact, Priority(2)]
    public void Test2() { /* 测试逻辑 */ }

    [Fact, Priority(3)]
    public void Test1() { /* 测试逻辑 */ }

    [Fact, Priority(4)]
    public void Test3() { /* 测试逻辑 */ }
}

二、配置Azure DevOps测试任务,确保顺序生效

在你的Azure Pipeline里,需要调整测试任务的配置,避免打乱顺序:

  1. 找到Visual Studio Test任务(或.NET Core测试任务,根据你的项目类型)
  2. 关键设置:
    • 关闭并行测试:在任务的「测试运行选项」里找到并行相关设置,设置为禁用——并行执行会完全打乱顺序,这一点一定要注意!
    • 如果需要更精准的筛选,可以在「其他控制台选项」里添加参数,比如对于xUnit的优先级标记,可以加:/testcasefilter:"Priority=1|Priority=2|Priority=3|Priority=4"
  3. 关联Azure Test Plans(可选但推荐):把你测试套件里的用例和代码中的测试方法关联起来(通过方法名或测试ID),这样Azure测试报告里的执行顺序会和你套件里的展示顺序完全对应。

注意事项

  • 所有测试用例的顺序编号要唯一,不要重复,否则可能导致执行顺序混乱
  • 无论用哪个框架,都要确保测试任务没有启用并行执行,这是顺序生效的前提

备注:内容来源于stack exchange,提问作者Deepak Chennoria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:04:31