在我的selenium webdriver Unit测试中,我在顶部有一个[TestInitialize]
部分,只是为了设置浏览器,它在所有测试中都会重现并且不是很漂亮。
我的问题是,在实际的[TestMethod]
中,我在初始化中设置的Chrome浏览器(即变量名称" d") - 未被识别。当我将鼠标悬停在" d"在测试方法中,它说"名称' d'在当前的背景下不存在。"
我认为我在这里犯了一个相当基本的错误,有人可以用简单的方式解释我做错了什么(希望,我应该做什么)?
[TestInitialize]
public void TestSetup()
{
IWebDriver d = new ChromeDriver("C:\\location\\of\\my\\chrome_driver\\is_here\\");
d.Manage().Cookies.DeleteAllCookies();
d.Manage().Window.Maximize();
}
[TestMethod]
public void ClickTrumpet_LouieArmstrongMusicPlays()
{
d.Navigate().GoToUrl("http://bupitybop.kom/");
for (int i = 0; i < 12; i++)
{
d.FindElement(By.ClassName("boopi-boopi")).Click();
}
d.Quit();
}
答案 0 :(得分:0)
d
在TestSetup()
范围内声明。它不会在TestSetup()
之外提供。为了解决这个问题,请将其设为实例变量,以便它在整个测试类中具有范围。
IWebDriver d;
[TestInitialize]
public void TestSetup()
{
d = new ChromeDriver("C:\\location\\of\\my\\chrome_driver\\is_here\\");
d.Manage().Cookies.DeleteAllCookies();
d.Manage().Window.Maximize();
}
[TestMethod]
public void ClickTrumpet_LouieArmstrongMusicPlays()
{
d.Navigate().GoToUrl("http://bupitybop.kom/");
for (int i = 0; i < 12; i++)
{
d.FindElement(By.ClassName("boopi-boopi")).Click();
}
d.Quit();
}