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

如何使用C#和Selenium实现多网站自动化测试导航?

C# + Selenium 多网站导航的复用方案

核心思路:用数据驱动测试实现URL批量复用

通过测试框架的数据驱动特性,把要测试的URL作为参数传入测试方法,避免重复编写导航代码。以下是主流测试框架的实现方式:


1. NUnit 框架实现(直接用 [TestCase])

适合URL数量不多的场景,直接在测试方法上标记每个URL:

// 修正原代码的URL格式错误(移除多余@符号)
private const string Url1 = "https://www.w3schools.com/";
private const string Url2 = "https://www.example.com/";

[TestCase(Url1)]
[TestCase(Url2)]
public void NavigateAndTestSites(string targetUrl)
{
    // 使用using自动释放Driver资源,避免内存泄漏
    using IWebDriver driver = new ChromeDriver();
    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(90));
    
    // 执行通用登录逻辑
    InitialLogin(driver, wait);
    // 统一导航到传入的目标URL
    driver.Navigate().GoToUrl(targetUrl);
    
    // 在这里添加所有页面都需要执行的通用操作
    // 例如:验证页面标题、元素加载状态等
}

2. NUnit 框架实现(用 [TestCaseSource] 管理URL列表)

适合URL数量较多的场景,把URL统一放在集合中维护:

// 集中管理所有要测试的URL
private static readonly string[] TestTargetUrls = {
    "https://www.w3schools.com/",
    "https://www.example.com/",
    // 可继续添加更多URL
};

[TestCaseSource(nameof(TestTargetUrls))]
public void NavigateAndTestSitesWithSource(string targetUrl)
{
    using IWebDriver driver = new ChromeDriver();
    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(90));
    
    InitialLogin(driver, wait);
    driver.Navigate().GoToUrl(targetUrl);
    
    // 通用操作逻辑
}

3. xUnit 框架实现(用 [Theory] + [InlineData])

如果项目使用xUnit,用以下方式实现:

[Theory]
[InlineData("https://www.w3schools.com/")]
[InlineData("https://www.example.com/")]
public void NavigateAndTestSitesXunit(string targetUrl)
{
    using IWebDriver driver = new ChromeDriver();
    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(90));
    
    InitialLogin(driver, wait);
    driver.Navigate().GoToUrl(targetUrl);
    
    // 通用操作逻辑
}

关键优势

  • 无需重复编写导航代码,测试逻辑只写一次
  • 新增/修改测试URL只需修改集合或属性,维护成本低
  • 每个URL会自动触发独立的测试实例,测试结果互不影响

内容的提问来源于stack exchange,提问作者Krakalien

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:40:33