我们如何在 mstest,c# 的 [TestInitialize] 方法中使 URL 动态化?

How we can make a URL dynamic in [TestInitialize] Method in mstest, c#?

我的代码是(我将实际的 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 动态化

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

因为我想在不同的项目中使用这个方法。是否可以编写变量 url 而不是 ../../../ 并从其他文件或 Testcase.

中获取 url 值

因此,您可以使用 Initalize(string capUrl) 方法创建基础 class 并在派生的 classes 中调用它,如下所示:

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

这个解决方案对您有帮助吗?或者您还需要其他东西?