【发布时间】:2020-02-13 00:31:18
【问题描述】:
所以我们知道,当您使用 SpecFlow 时,如果您重用另一个测试中的一个步骤,它会自动将其拉入并重用它......但是,我遇到了一个问题,即测试 A 让我登录,测试 B 登录并确认主页是正确的,但是当我开始使用测试 B 时,测试 A 正在初始化 ChromeDriver,我的驱动程序想要打开另一个网页,导致测试失败,因为它打开了一个空网页。
我的问题是 - 如何在不打开另一个 Chrome 实例的情况下使用驱动程序。这是我的“通用登录”代码明智的:
private LandingPageCode landingPage;
private HomePageCode HomePage;
[Given(@"I have entered my username, password selected login")]
public void GivenIHaveEnteredMyUsernamePasswordSelectedLogin()
{
driver = new ChromeDriver();
driver.Url = ("my URL");
landingPage = new LandingPageCode(driver);
HomePage = new HomePageCode(driver);
我在测试 B 上的代码在登录后验证主页:
{
private ChromeDriver driver;
private HomePageCode HomePage;
private LandingPageCode landingPage;
[Given(@"Successfully log into Cal's website (.*)")]
public void GivenSuccessfullyLogIntoOptix(Decimal p0)
{
driver = new ChromeDriver();
HomePage = new HomePageCode(driver);
landingPage = new LandingPageCode(driver);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
Assert.AreEqual("HomePage", driver.Title);
【问题讨论】:
标签: c# .net selenium-webdriver selenium-chromedriver specflow