在 C# 单元测试中使用命令行参数

Using Command Line Arguments in C# Unit Testing

我正在 运行宁 C# 单元测试到 运行 selenium 测试,在此我需要登录不同的用户帐户。我正在尝试检索用户名和密码作为命令行参数,但无法在 C# visual studio 单元测试中找到执行此操作的方法。

有人知道我该怎么做吗?

我的部分代码:

[TestMethod]
public void Login()
    {
        driver = new FirefoxDriver();
        driver.Manage().Window.Maximize();
        driver.Navigate().GoToUrl(this.baseURL);    
        driver.FindElementById("ctl00_ContentPlaceHolder1_Login1_UserName").SendKeys(userID);
        driver.FindElementById("ctl00_ContentPlaceHolder1_Login1_Password").SendKeys(password);
        driver.FindElementById("ctl00_ContentPlaceHolder1_Login1_LoginButton").Click();
    }

此处 "userID" 和“密码应该是我的命令行参数。

预先感谢您的帮助。

在单元测试中,您不应使用来自命令行的变量输入,而应使其保持不变。

例如你的测试应该是:

[TestMethod]
public void Login()
{
    driver = new FirefoxDriver();
    driver.Manage().Window.Maximize();
    driver.Navigate().GoToUrl(this.baseURL);
    driver
        .FindElementById("ctl00_ContentPlaceHolder1_Login1_UserName")
        .SendKeys("testuser");
    driver
        .FindElementById("ctl00_ContentPlaceHolder1_Login1_Password")
        .SendKeys("testpass");
    driver
        .FindElementById("ctl00_ContentPlaceHolder1_Login1_LoginButton")
        .Click();
}

然后您应该确保数据库在测试 运行 之前被正确地模拟或初始化为正确的状态。