2017-11-16 12 views
-1

私はC#とSeleniumを使用して、私たちのWebサイトのテストを自動化しようとしています。クリックすると新しいウィンドウが開きます。私はテストを続けるためにこの新しいウィンドウに切り替える方法を理解しようとしています。C#とSeleniumでテストを実行する新しいウィンドウに切り替えることができません

私は多くのブログで見つかった次の行を試しましたが、最後は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"); 
     } 
    } 
} 

答えて

-1

あなたは、あなたのURL

 WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); //you can change 10 seconds to whatever it suits you the best. 
     wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.Id("login"))); 
+0

に切り替えたら、あなたはあなたを待っているものは何でもIDにドロップすることができ、これを使用することができます。私はlogin要素を得るまで私のウィンドウのログインを使用しました – Keys

+0

最初のウィンドウでリンクを "クリック"すると、新しいウィンドウが自動的に起動して2つのウィンドウが表示されます。私は新しいウィンドウに切り替える方法を理解しようとしています。クリックされたリンクは、javascriptを使用して新しいウィンドウを開きます。 –

+0

これは質問に答えません。 – JeffC

関連する問題