2017-06-10 6 views
0

Javaを使用してSeleniumでテスト自動化を開発しています。ここでは、フォームフィールド値が自動提案ドロップダウンから選択されています。フィールドに値があるか空であるかどうかの選択を確認するにはどうすればよいですか。 は、私は現在、「値」と呼ばれる無属性は、上記のコードが動作していないされていないがため、これに対する解決策は、選択したドロップダウン値を確認する

if(elementLocator.getAttribute("value").isEmpty(){ 
    System.out.println("Field is empty"); 
} 

で見つかりました。 値が選択されている場合はattribute area-selected="true"が表示されているコードの下に貼り付けています。

<div class="Select-control"> 

<span id="react-select-22--value" class="Select-multi-value-wrapper"> 

<div class="Select-value"> 

<span id="react-select-22--value-item" class="Select-value-label" role="option" aria-selected="true">India</span> 
</div>  
+0

driver.findElement(by.cssSelector( "div#Select-value> span"))。getText();を使用してみてください。 – kushal

+0

こんにちは、あなたが与えた解決策はうまくいかなかったが、どうやったらいいか分かった。私はdriver.findElement(By.xpath( ".//*[Class = 'Select-value']/span))。getText()を試しましたが、フィールドが空であれば問題は表示されません。セレンはそれを見つけることができません。 –

+0

私はそれがクラスであることを逃しました: 'driver.findElement(by.cssSelector(" div.Select-value> span "))。getText();'ハッシュをドットで置き換える必要がありました – kushal

答えて

0

私はこれを解決する方法を知りました。

私は他のソリューションisDiplayed()isEmpty()size()>0のどれも働いていないときに私を助けtrycatchブロックを、使用していました。

下記の解決方法は、tryブロックであなたの要素を見つけてください。もしあれば、あなたの行動を行い、そうでなければcatchブロックでエラーを投げてください。このソリューションは、要素がアプリケーションに動的に表示される場合でも役立ちます。

try{ 
    String Gender=findElement(By.xpath("yourElementPath")).getText(); 
    System.out.println("Input field has value = "+Gender); 
} 
catch(Exception e){ 
    Log.error("Input field 'Gender' is empty"); 
} 
-1

いくつかのドロップダウンがある場合は、以下のコードを参考にしてください。

WebElement month_dropdown=driver.findElement(By.id("month")); 
Select month=new Select(month_dropdown); 
WebElement first_value=month.getFirstSelectedOption(); 
String value=first_value.getText() 

これが役に立ちます。ありがとう。

+0

あなたが彼の共有コード、選択タグではありません – kushal

+0

getText()は何を返します –

+0

driver.findElement(By.xpath( "span {@ id = 'react-select-22-value-item']"))。getText( ); –

関連する問題