2016-05-09 13 views
0

ウェブページを自動化しようとしています。その上にはリンクがあり、それをクリックすると別のタブで開きます。私はここで立ち往生している。私はRedirectオプションを試しましたが、うまくいきませんでした。 自動化中にIEのタブを切り替える

この

は私が自動化しようとしていたWebページのコードです:

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

を、これは私がやっているものです:

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

それは、リンクを開くんが、移動することができません次のタブに移動します。どうすればさらに進めることができますか?

これは私のWebBrowserクラスです。基本的にはあなたが試すことができ

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

ブラウザを自動化するためにどのような技術を使用していますか?セレン? 'Specflow'、' Cucumber'、 'asp.net'タグを削除してください。なぜなら、この質問は関連していないからです。あなたは本当に「セレンを使って新しいタブでリンクを開くにはどうすればいいですか?」と質問しています。これには既にいくつかの回答があります(https://www.google.co.uk/search?q=how+can+I + open + a +リンク+ in + a + new + tab + using + selenium&aqs = chrome..69i57&sourceid = chrome&ie = UTF-8) –

+0

私はセレンを使用していません。[tag:Cucumber]の[tag:specflow]を使ってビジュアルスタジオでこれをやっています。 – Ankush

+0

'WebBrowser.Current.Link .ByText) 'と' MCID.Click() 'を使用していますか?これはspecflow、cucumberまたはbddではありません。これはセレンのようなWebブラウザの自動化テクノロジーです。これがあなたの問題です。これはspecflowにはまったく関係ありません。 –

答えて

0

This might help

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

は動作しません。 'WebBrowser.Current.PressTab();'はobseleteです – Ankush

+0

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

+0

またあなたのトーンは無礼となっています。私はあなたの問題を指摘しようとしており、実際に何を求めようとしているのかを提案しました。一度あなたは、私はあなたがいくつかの簡単なグーグルで答えを見つけることができると思っていると知っていた。私はそれをして、私が答えと思ったものを投稿しました。あなたは本当にあなた自身を助けるために最善の方法を学び、あなたを助けるために道から出て行く人たちにやや親切になるべきです。 –

0

参照として、あなたはそれがはるかにある任意のアクションによって別のタブを開いている場合IEの既存のインスタンスを見つけてそれに接続し、開始したかのように続行することをお勧めします。このように:ここから

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

あなたはWatIn内の任意の他のIE instaceとしてnewTabOpenedで作業を続けることができます。

関連する問題