2016-05-09 11 views
0

Ich versuche eine Webseite zu automatisieren. Darauf befindet sich ein Link und durch Anklicken öffnet sich ein weiterer Tab. Ich stecke hier fest. Ich habe die Option Redirect versucht, aber es hat nicht funktioniert.Wechseln der Registerkarten im IE während der Automatisierung

Dies ist die Web-Seite Code, an dem ich zu automatisieren versuche:

<td class=""> 
    <a href="../TMI/viewCustomerDetails.jsp?mcid=30000248243" target="_new">30000248243</a> 
</td> 

und das ist, was ich tue:

public void ThenIClickAtTheMCID() 
{ 
    var MCID = WebBrowser.Current.Link(Find.ByText("30000248243")); 
    if (!MCID.Exists) 
    { 
      Assert.Fail("Unable to find the MCID Name"); 
      MCID.Click(); 
    } 
} 

Es den Link nicht öffnen, aber nicht in der Lage sich zu bewegen zum nächsten Tab. Wie kann ich weiter vorgehen?

Das ist mein WebBrowser Klasse:

using TechTalk.SpecFlow ; 

using WatiN.Core; 

namespace WebTest 
{ 
    class WebBrowser 
    { 
     public static IE Current 
     { 
      get 
      { 
       if (!ScenarioContext.Current.ContainsKey("browser")) ScenarioContext.Current["browser"] = new IE(); 
       return ScenarioContext.Current["browser"] as IE; 
      } 
     } 
    } 
} 
+1

Welche Technologie verwenden Sie zur Automatisierung des Browsers? Selen? Sie sollten Ihre Frage damit markieren und die Tags 'Specflow',' Cucumber' und 'asp.net' entfernen, da diese Frage nicht mit ihnen zusammenhängt. Sie fragen wirklich, wie kann ich einen Link in einem neuen Tab mit Selen öffnen, und dies hat eine [einige Antworten bereits] (https://www.google.de/search?q=how+can+I + offen + a + link + in + a + neu + tab + mit + selen & oq = wie + kann + ich + öffnen + a + link + in + a + neu + tab + mit + selen & aqs = chrome..69i57 & sourceid = chrome & ie = UTF-8) –

+0

Ich benutze Selen nicht ich mache das im visuellen Studio mit [Tag: specflow] für [Tag: Gurke] das ist [Tag: BDD] – Ankush

+0

Welche Technologie ist die Zeile 'WebBrowser.Current.Link (Find .ByText) 'und' MCID.Click() 'using? Dies ist nicht Specflow, Gurke oder BDD das ist einige Web-Browser-Automatisierung Technologie wie Selen, und das ist, wo Ihr Problem ist. Dies hängt nicht mit specflow zusammen. –

Antwort

0

This might help,

im Grunde können Sie versuchen:

WebBrowser.Current.PressTab(); 
WebBrowser.Current.WaitForComplete(); 
+0

funktioniert nicht. 'WebBrowser.Current.PressTab();' ist obselete – Ankush

+0

http://stackoverflow.com/questions/1539873/watin-presstab-doesnt-press-tab –

+0

auch Ihr Ton kommt als respektlos rüber. Ich habe versucht, auf Ihr Problem hinzuweisen, und habe vorgeschlagen, was Sie eigentlich zu fragen versuchen. Sobald du gewusst hast, dass ich gedacht hätte, dass du die Antwort mit einem einfachen googeln finden könntest. Ich habe das sogar getan und gepostet, was ich für eine Antwort hielt. Sie sollten wirklich lernen, wie Sie sich am besten selbst helfen können, und ein bisschen freundlicher für diejenigen sein, die sich alle Mühe geben, Ihnen zu helfen. –

0

Als Referenz, wenn Sie durch irgendeine Aktion auf ein anderes Register geöffnet haben es viel besser, die vorhandene IE-Instanz zu finden und anzuhängen und fortzufahren, als ob Sie sie gestartet hätten. Wie folgt aus:

var newTabOpened = Browser.AttachTo(typeof(IE)), Find.ByUrl("http://www.google.com")

von hier aus können Sie mit newTabOpened wie jede andere IE instace innerhalb Watin weiter arbeiten.