Настройка URL в файле конфигурации возвращает ноль - PullRequest
0 голосов
/ 18 января 2019

Я следую этому уроку:

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

По какой-то причине, когда я пытаюсь это сделать, всегда возвращается null.

Environment.config выглядит так:

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

Мой тестовый класс выглядит так:

using System;
using System.Configuration;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using qa.WrapperFactory;

namespace UnitTestProject2
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            // Sign in through google first, so we don't have to follow new tabs
            BrowserFactory.InitBrowser("Chrome");
            var y = ConfigurationManager.AppSettings["URL"];
            BrowserFactory.LoadApplication(ConfigurationManager.AppSettings["URL"]);
            BrowserFactory.CloseAllDrivers();
        }
    }
}

Почему-то я получаю сообщение об ошибке:

Сообщение: метод теста UnitTestProject2.UnitTest1.TestMethod1 threw исключение: System.ArgumentNullException: аргумент 'url' не может быть нуль.

Браузер загружается правильно

1 Ответ

0 голосов
/ 18 января 2019

Вы не следовали своему руководству должным образом, если вы прочитали «Шаги, чтобы внимательно прочитать раздел AppSettings из внешнего файла конфигурации с помощью ConfigurationManager» , вы увидите:

Шаги для чтения настроек приложения из внешнего файла конфигурации с помощью ConfigurationManager:

Файл 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"].

...