【发布时间】:2017-11-17 03:32:07
【问题描述】:
我正在使用 C# 和 Selenium 来尝试自动测试我们的网站。我有一个链接,点击后会打开一个新窗口。我正试图弄清楚如何切换到这个新窗口以继续测试。
我尝试了在许多博客上找到的以下行,但 Last 没有出现在 Intellisense 中,并且它下面有红色的波浪线。
driverIE.SwitchTo().Window(driverIE.WindowHandles.Last());
我是在 Visual Studio 中使用 C# 的新手,所以我不确定我是否没有包含我应该包含的内容。这是我尝试运行的测试的开始。
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.ObjectModel;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
namespace SeleniumTest
{
[TestClass]
public class UnitTest1
{
static IWebDriver driverIE;
[AssemblyInitialize]
public static void SetUp(TestContext context)
{
driverIE = new InternetExplorerDriver(@"C:\Selenium");
}
[TestMethod]
public void TestIEDriver()
{
driverIE.Navigate().GoToUrl("http://localhost/site/");
driverIE.FindElement(By.Id("txtUserId")).SendKeys("username");
driverIE.FindElement(By.Id("txtPassword")).SendKeys("password");
driverIE.FindElement(By.Id("txtPassword")).SendKeys(Keys.Enter);
//Open Quote
driverIE.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
driverIE.FindElement(By.LinkText("Personal Auto")).Click();
//Switch to Quote Window
driverIE.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
ReadOnlyCollection<string> WindowList = driverIE.WindowHandles;
driverIE.SwitchTo().Window(driverIE.WindowHandles.Last());
driverIE.FindElement(By.Id("txtAgencyCd")).SendKeys("Code");
}
}
}
【问题讨论】: