2017-01-10 27 views
0

チェックボックス、ドロップダウン、テキストボックスがあるテストを自動化するには、Seleniumを使用する必要があります。ドロップダウンは現在問題です。セレンは私の録音から要素を識別することができないという問題があるようです。私はそのトピックを研究しており、広範なコーディングを必要としないソリューションを見つけることはできません。作業のために、私はIDEのみを使用できます。Selenium IDEを使用してコーディングなしでドロップダウンを選択する方法

私はこれで最後の解決策を試みた:Selecting a drop-down option using Selenium IDE

をそれはうまくいきませんでした。私は、クリック、選択、およびsendkeysコマンドを試した。最良のコマンドは、クリックと思われ、ドロップダウンをクリックしてオプションを表示します。私はオプションを選択する方法を理解できません。私は、ドロップダウンをクリックすると、私はセレンで、次を得る:

xpath=(//button[@type='button'])[15] 

オプションをクリックした後:

:放火犯を使用した後

//div[12]/div/ul/li[7]/a/span 

を、私はコードのドロップダウンがあることがわかり

<button class="btn dropdown-toggle selectpicker btn-default" type="button" data-toggle="dropdown" title="--Select Value--"> 

どうすればよいですか?私がドロップダウンだけのためのより小さいテストを実行すると、それは動作し、私は大きなテストでそれを実行した翌日、それは失敗します。

答えて

0

説明からいくつかの詳細が欠落していますが、ドロップダウンが実際のドロップダウンではなく、むしろボタンでクリックするとリンクをクリックしてdivを表示します。ですから、私は次のようなことを提案します:

  1. ボタンをクリックします。

    Command: click 
    Target: xpath=(//button[@type='button'])[15] 
    
  2. //div[12]/div/ulが表示されます。

    Command: waitForVisible 
    Target: //div[12]/div/ul 
    
  3. リンクをクリックしてオプションを選択します。

    Command: click 
    Target: //div[12]/div/ul/li[7]/a/span 
    

注:上記のすべてのケースでは、私はあなたが質問で提供XPathを使用し、実際には、インデックスの使用を避け、むしろ参照そのパスがいくつかの属性、例えば@id、または@classです。ボタン、ulなどすべてに適用されます。インデックスは、必要であれば、私はより多くの詳細を含めることができ

+0

本当に要素を見つけるための最悪の方法であり、他に何もできない場合(例えば、ボタンは常にラベルを持つことになりますため、通常は真実ではないです)にのみ使用してください。私は今日あなたのソリューションを試してみました。そして、テストはボタン(ドロップダウン)をクリックすることができます。選択しても失敗する:/。私はまた、私は以前セレンを使用したことがないと追加する必要があります。 – fractal21

+0

待機時またはクリック時に失敗しますか(手順3)?可能であれば、 "ドロップダウン"を含むHTMLの断片を投稿してください –

+0

クリックは失敗します(手順3)。以下はHTMLコードの一部です:

関連する問題