在 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();
}
然后您应该确保数据库在测试 运行 之前被正确地模拟或初始化为正确的状态。
我正在 运行宁 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();
}
然后您应该确保数据库在测试 运行 之前被正确地模拟或初始化为正确的状态。