繁体   English   中英

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

[英]Using Command Line Arguments in C# Unit Testing

我正在运行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”和“ password”应该是我的命令行参数。

预先感谢您的帮助。

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

例如,您的测试应为:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM