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

本文关键字:命令行 参数 单元测试 | 更新日期: 2023-09-27 17:57:33

我正在运行C#单元测试来运行硒测试,在这方面我需要登录到不同的用户帐户。我正在尝试检索用户名和密码作为命令行参数,但在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"answers"password"应该是我的命令行参数

提前感谢您的帮助。

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

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

例如,你的测试应该是:

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

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