簡體   English   中英

在使用 C# 測試 Selenium 測試時,如何使用 App.config 存儲 url 和檢索 url?

[英]How can I use App.config to store urls and retrieve the urls in testing Selenium tests with C#?

我創建了一個 App.config 文件來存儲 url,而不是在我的單元測試中硬編碼它們,所以如果 url 發生變化,我只有一個地方需要更改它們。這是我的 App.config(為發布目的更改了 url) :

<configuration>
  <appSettings>
    <add key="Home" value="https://home.com"/>
    <add key="AnotherPage" value="https://anotherpage.com"/>
  </appSettings>
</configuration>

在我的測試中,我試圖使用這樣的網址:

using Xunit;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using System;
using System.IO;
using System.Configuration;

namespace Homepage.Tests.UI.Tests
{
    public class HomePageShould
    {
        [Fact]
        public static void Open()
        {
            var url = ConfigurationManager.AppSettings["Home"];
            using IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl(url);

        }
    }
}

我收到此錯誤:

結果消息:System.ArgumentNullException:參數“url”不能為 null。 (參數“值”)

我也試過這個: var _homeUrl = ConfigurationManager.AppSettings.Get("Home");

並得到同樣的錯誤。

我做錯了什么,我怎樣才能讓它工作?

這不會起作用,因為App.config文件是在創建新項目時自動生成的。 很可能,您創建了錯誤類型的項目。

您可以在此處找到有關配置和 Selenium 的更多信息。

PS 我會將此作為評論發布,但我的聲譽<50。 謝謝你的理解!

App.config 文件應該在創建項目時自動創建。 因此,如果您這樣做,也許您不需要手動創建它。 可能是手動創建此文件可能是找不到鍵下的值的問題。 除此之外,您的代碼看起來可以獲取價值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM