【问题标题】:Selenium C#, Runing multiple test with predefined parametersSelenium C#,用预定义参数进行多次测试
【发布时间】:2022-01-26 08:32:40
【问题描述】:

我正在寻找一种方法来预定义一些参数(URL),然后在 C# 中为每个参数运行 selenium 测试。

  • 我应该在哪里指定这些 URL?
  • 如何在我的代码中实现对这些参数的读取?
    [Test]
    public void Test(string URLParameter)
    {
        driver.Navigate().GoToUrl(URLParameter);
    }  
  • 我应该如何运行这些测试?

【问题讨论】:

  • 您应该提出更具体、更有针对性的问题。在这里你实际上问了3个问题,同时也可以定义为有意见的问题......

标签: c# selenium automated-tests


【解决方案1】:

如果您正在寻找一种方法来使用不同的测试数据集运行相同的测试,即:在您的案例中使用不同的 URL 并且如果您正在使用

NunitxUnit

请注意,所有built-in attributes 都允许以编程方式 提供数据,但NUnit 没有任何属性 可以从文件或其他外部获取数据来源。

你可以使用

[TestCaseSource]

属性

请从Nunit Documentation 阅读更多信息

参考资料:

【讨论】:

    【解决方案2】:

    有几种方法可以预定义和保留此类测试数据。

    1. 您可以将其保存在某个外部文件中。它可以是 JSON、XML 或纯文本格式的文件。
    2. 它可能保存在项目内的某些资源 C# 类文件中。
    3. 它可以保存在某种数据库等中。
      如何读取此数据的实际实现将根据您决定保留测试数据的方式、您的项目结构等而有所不同。 有几种最佳做法可以做到这一点,而不仅仅是一种方法。
      还有几种方法可以运行此类测试。您可以在许多在线教程和其他资源中了解这些最佳做法。

    【讨论】:

      【解决方案3】:

      为此,您应该使用多种不同的方式来保存测试数据。

      1- Kept in the resources folder of the project for example in
         properties file. 
      2- Kept data in DB and read from there while
         needed.  
      3- Kept in some external sources and read/retrieve if from
         there.
      

      注意:应该使用以后方便的方法。

      【讨论】:

        猜你喜欢
        • 2019-05-30
        • 2010-11-18
        • 2019-04-29
        • 1970-01-01
        • 1970-01-01
        • 2012-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多