Как мы можем сделать URL-адрес динамическим c в методе [TestInitialize] в mstest, c#? - PullRequest
0 голосов
/ 18 февраля 2020

Мой код (я заменяю реальный URL на ../../../).

[TestInitialize]
        public static void Initalize()
        {
            AppiumOptions desiredcap = new AppiumOptions();
            desiredcap.AddAdditionalCapability("app", @".../../../..../");
            driver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), desiredcap);

            if (driver == null)
            {
                Console.WriteLine("App not running");
                return;
            }
}

Я хочу сделать URL динамическим c из

desiredcap.AddAdditionalCapability("app", @".../../../..../");

потому что я хочу использовать этот метод в другом проекте. Можно ли написать переменную url вместо ../../../ и взять значение url из какого-либо другого файла или из Testcase.

1 Ответ

2 голосов
/ 18 февраля 2020

Итак, вы можете создать базовый класс с помощью метода Initalize(string capUrl) и вызвать его в производных классах, как здесь:

    [TestInitialize]
    public static void Initalize()
    {
        base.Initalize("http://SomeUri.com")
    }

Если вам нужно указать его в Testcase. Затем вам нужно удалить [TestInitialize] и лучше переименовать его в что-то вроде «PrepareTest». И назовите это руками в тестовом методе. Вот так:

[Testcase("http://SomeUri.com")]
public void TestMethod(string uri)
{
    this.PrepareTest(uri);
}

Помогает ли вам это решение? Или тебе нужно что-то другое?

...