通读https://msdn.microsoft.com/en-us/library/jj635153.aspx我创建了一个 .RunSettings
文件,其中包含一些类似于示例的参数:
<TestRunParameters>
<Parameter name="webAppUrl" value="http://localhost" />
<Parameter name="webAppUserName" value="Admin" />
<Parameter name="webAppPassword" value="Password" />
</TestRunParameters>
我计划为我们的每个环境创建一个 .RunSettings
文件,其中包含适当的 URL 和凭据,以便在指定的 RunSettings 文件的环境中运行 CodedUI 测试。
我可以看到从命令行引用我可以运行的设置文件:
vstest.console myTestDll.dll /Settings:Local.RunSettings /Logger:trx
vstest.console myTestDll.dll /Settings:QA.RunSettings /Logger:trx
等...
但我看不到任何方法可以说明如何从 codedUI 测试中实际利用 TestRunParameters
。
我想做的是设置测试初始值设定项,使用 TestRunParameters
来确定在哪里登录,以及使用什么凭据。像这样:
[TestInitialize()]
public void MyTestInitialize()
{
// I'm unsure how to grab the RunSettings.TestRunParameters below
string entryUrl = ""; // TestRunParameters.webAppUrl
string userName = ""; // TestRunParameters.webAppUserName
string password = ""; // TestRunParameters.webAppPassword
LoginToPage(entryUrl, userName, password);
}
public void LoginToPage(string entryUrl, string userName, string password)
{
// Implementation
}
非常感谢有关如何引用 TestRunParameters
的信息!
编辑
/// <summary>
/// Summary description for CodedUITest1
/// </summary>
[CodedUITest]
public class CodedUITest1
{
public static string UserName = string.Empty;
[ClassInitialize]
public static void TestClassInitialize(TestContext context)
{
UserName = context.Properties["webAppUserName"].ToString();
Console.WriteLine(UserName);
}
[TestMethod]
public void CodedUITestMethod1()
{
this.UIMap.RecordedMethod1();
// To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items.
}
// Rest of the default class - TestContext instantiation, UI map instantiation, etc
}
我在运行时遇到的异常:
空引用异常
@williamfalconeruk 我已经按照上面的方式更新了我的测试类,但我仍然遇到同样的错误,知道我做错了什么吗?
最佳答案
对于那些使用 Resharper 解决这个问题的人,我发现了修复方法(无需禁用 Resharper):
转到 Visual Studio 顶部菜单 -> Resharper -> 选项
找到“工具”部分,展开“单元测试”
点击“MsTest”。该复选框应处于启用状态,但下方的测试设置文件路径可能为空。如果是,请单击浏览并选择您要使用的运行设置文件。
点击保存、重建并尝试运行测试,参数现在应该可以工作了。
不知道为什么,只是简单地从测试菜单中选择测试设置文件 -> 测试设置在使用 Resharper 时实际上不起作用,因此需要在 Resharper 选项中直接明确指向该文件。
关于c# - 如何访问 RunSettings 文件中的 TestRunParameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31707415/