配置文件中的URL设置返回null

时间:2019-01-18 10:53:54

标签: c# selenium-webdriver app-config

我正在关注本教程:

https://www.toolsqa.com/selenium-webdriver/c-sharp/manage-read-configurations-using-configurationmanager-csharp/

由于某种原因,当我尝试执行此操作时,它总是返回struct BusinessObject: Codable { enum CodingKeys: String, CodingKey { case primaryId = "id" case alternativeId = "some_id" } private let primaryId: Int? private let alternativeId: Int? var id: Int { return primaryId ?? alternativeId ?? 0 } }

Environment.config如下:

null

我的测试课程如下:

<appSettings>
    <add key="URL" value="http://www.test.com"/>
</appSettings>

出于某种原因,我不断收到错误消息:

  

消息:测试方法UnitTestProject2.UnitTest1.TestMethod1被抛出   异常:System.ArgumentNullException:参数'url'不能为   空。

浏览器正确加载

1 个答案:

答案 0 :(得分:1)

您没有正确地遵循本教程,如果您仔细阅读“使用ConfigurationManager从外部配置文件读取AppSettings的步骤” 部分,则会看到:

使用ConfigurationManager从外部配置文件读取AppSettings的步骤:

App.config文件

<configuration>
        <appSettings configSource="Configurations\Environment.config" />
</configuration>

在同一项目下创建另一个配置文件并将其命名为Environment.config。

Environment.config文件

<appSettings>
        <add key="URL" value="http://www.example.com"/>
</appSettings>

要从上述配置文件中读取连接字符串,请使用以下代码:

var url = ConfigurationManager.AppSettings["URL"]; 

在使用SomeConfigFile.config之前,您需要向App.config文件添加外部ConfigurationManager.AppSetting["key"]文件路径/引用。