我如何使用App.config来存储url并在c#测试Selenium测试中检索url ?



我创建了一个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>

在我的测试中,我尝试使用这样的url:

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);
}
}
}

我得到这个错误:

Result Message: System。参数'url'不能为空。(参数"价值")

我也试过了:var _homeUrl = ConfigurationManager.AppSettings.Get("Home");

得到相同的错误。

我做错了什么,我怎么能让它工作?

这行不通,因为App。Config文件在创建新项目时自动生成。最有可能的是,您创建了错误的项目类型。

你可以在这里找到更多关于configuration和Selenium的信息。

注:我想把这个作为评论,但我的声誉是50。谢谢您的理解!

App。配置文件应该在创建项目时自动创建。因此,如果您这样做,可能不需要手动创建它。可能是手动创建这个文件时,可能会出现找不到密钥下的值的问题。除此之外,您的代码看起来可以获得值。

最新更新