Selenium Webdriver-IfステートメントでisDisplayed()を使用する

user3773857

レコードを検索してからレコードを更新するスクリプトを作成しています。検索画面で、ユーザーは詳細検索オプションを表示するオプションがあります。詳細検索の表示と非表示を切り替えるには、1つのボタンで制御します。

<a title="Searches" href="javascript:expandFilters()"><img border="0" align="absmiddle" alt="Advanced" src="****MASKED URL****"></a>

高度な検索を表示または非表示にしているときの検索ボタンのプロパティの唯一の違いは、imgsrcです。

高度な検索が非表示の場合、IMGsrcは「/Styles/_Images/advanced_button.jpg」で終わり、高度な検索が表示されている場合、IMGsrcは「/Styles/_Images/basic_button.png」で終わります。

ページを開くと、詳細検索オプションが表示される場合と表示されない場合があります。検索したい値が[詳細]セクションに表示されるので、スクリプトを機能させるためにIFステートメントを追加しました。

<input type="text" value="" maxlength="30" size="30" name="guiSystemID">

IFステートメントは、データを入力する必要のあるフィールドを検索します。フィールドが存在しない場合は、詳細オプションが表示されていないことを示します。ボタンをクリックして検索オプションを展開する必要があります。

次のIFステートメントを作成しました。

     if (!driver.findElement(By.name("guiSystemID")).isDisplayed()) {
         driver.findElement(By.cssSelector("img[alt='Advanced']")).click();
     }

スクリプトを実行して詳細検索を展開すると、スクリプトは正常に実行されます。ただし、スクリプトを実行しても詳細検索が展開されていない場合、スクリプトは失敗し、オブジェクト「guiSystemID」が見つからないことを通知されます。それが見つからない場合は、スクリプトを続行してIFステートメントのTrueパスに入力するため、これはイライラします。

フィールドが見つからないためにスクリプトが失敗することなく、フィールドが表示されているかどうかを評価する方法について、他に何か提案がありますか。

前もって感謝します

サイモン

Roopika Srinivas

私はこれに答えるのが遅いかもしれませんが、それは他の誰かが同じものを探しているのを助けるかもしれません。

最近、isDisplayed()の操作中に同様の問題に直面しました。私のコードはこんな感じでした

if(driver.findElement(By.xpath(noRecordId)).isDisplayed() )                                                                                                         
{         
  /**Do this*/     
}    
else    
{     
  /**Do this*/    
}

このコードは、isDisplayedが検索しようとしている要素が存在する場合に非常にうまく機能します。ただし、要素が存在しない場合は、それを探し続けるため、例外「NosuchElementFound」がスローされます。したがって、他の部分をテストする方法はありませんでした。

私はこれを操作する方法を考え出しました({if、else}をtryとcatchブロックで囲み、次のように言います。

public void deleteSubVar() throws Exception  
{         
  try   
  {    
    if(driver.findElement(By.xpath(noRecordId)).isDisplayed() )     
    {      
      /**when the element is found do this*/     
    }    
  }      
  catch(Exception e)     
  {       
   /**include the else part here*/     
  }       
}         

お役に立てれば :)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Selenium Webdriverでオートコンプリートをテストする

分類Dev

Selenium WebDriverでテキストとWebリンクを抽出する

分類Dev

Python Selenium Webdriver add method to Webelements / custom'assert 'ステートメント

分類Dev

Selenium Webdriver で一意のテキスト値を提供する

分類Dev

Selenium Webdriver / RSpecでテキストをアサートする適切な方法

分類Dev

Selenium WebDriver、Javaを使用してテキストでWeb要素を選択する方法

分類Dev

Selenium WebDriver を使用してテキストで要素を検索する

分類Dev

Selenium WebDriver- <span>テキストを取得

分類Dev

Apache JmeterでJavaベースのSelenium WebDriverテストを実行する

分類Dev

Python を使用した Selenium Webdriver

分類Dev

Selenium Webdriverの使用方法は?

分類Dev

Selenium WebDriver-Maven-IllegalStateパス

分類Dev

TorでSelenium WebDriverを使用する

分類Dev

JavaScriptをSelenium WebDriver Javaで使用する方法

分類Dev

JavaでSelenium WebDriverを使用する

分類Dev

Selenium WebDriverでTestNgを使用する方法は?

分類Dev

Selenium Webdriverのメソッド(テストケース)に関する問題

分類Dev

JavaでSelenium WebDriver(Selenium 2)を使用してテキストボックスに入力する方法

分類Dev

Selenium Webdriverテキストをこする方法は?

分類Dev

Selenium WebDriverとJavaを使用して要素からテキストを取得する方法

分類Dev

Selenium Webdriver:xpathを使用して<td>タグからテキストを取得する

分類Dev

Selenium WebDriver-テストケースの実行速度を制御する方法

分類Dev

Javaを使用したSelenium WebDriverテストのwaitForVisible / waitForElementPresentと同等ですか?

分類Dev

Selenium Webdriver で Cookie を追加する

分類Dev

Selenium WebDriverを使用して負荷テストを実行するにはどうすればよいですか?

分類Dev

How does Selenium WebDriver's isDisplayed() method work

分類Dev

Python で Selenium Webdriver を使用して HTML タグのすべての子からテキストを抽出する方法

分類Dev

DockerコンテナでnodeJSアプリ、selenium、webdriver.ioテストを実行する

分類Dev

Selenium Webdriver のブラウザーでページのズーム レベルをテストする

Related 関連記事

  1. 1

    Selenium Webdriverでオートコンプリートをテストする

  2. 2

    Selenium WebDriverでテキストとWebリンクを抽出する

  3. 3

    Python Selenium Webdriver add method to Webelements / custom'assert 'ステートメント

  4. 4

    Selenium Webdriver で一意のテキスト値を提供する

  5. 5

    Selenium Webdriver / RSpecでテキストをアサートする適切な方法

  6. 6

    Selenium WebDriver、Javaを使用してテキストでWeb要素を選択する方法

  7. 7

    Selenium WebDriver を使用してテキストで要素を検索する

  8. 8

    Selenium WebDriver- <span>テキストを取得

  9. 9

    Apache JmeterでJavaベースのSelenium WebDriverテストを実行する

  10. 10

    Python を使用した Selenium Webdriver

  11. 11

    Selenium Webdriverの使用方法は?

  12. 12

    Selenium WebDriver-Maven-IllegalStateパス

  13. 13

    TorでSelenium WebDriverを使用する

  14. 14

    JavaScriptをSelenium WebDriver Javaで使用する方法

  15. 15

    JavaでSelenium WebDriverを使用する

  16. 16

    Selenium WebDriverでTestNgを使用する方法は?

  17. 17

    Selenium Webdriverのメソッド(テストケース)に関する問題

  18. 18

    JavaでSelenium WebDriver(Selenium 2)を使用してテキストボックスに入力する方法

  19. 19

    Selenium Webdriverテキストをこする方法は?

  20. 20

    Selenium WebDriverとJavaを使用して要素からテキストを取得する方法

  21. 21

    Selenium Webdriver:xpathを使用して<td>タグからテキストを取得する

  22. 22

    Selenium WebDriver-テストケースの実行速度を制御する方法

  23. 23

    Javaを使用したSelenium WebDriverテストのwaitForVisible / waitForElementPresentと同等ですか?

  24. 24

    Selenium Webdriver で Cookie を追加する

  25. 25

    Selenium WebDriverを使用して負荷テストを実行するにはどうすればよいですか?

  26. 26

    How does Selenium WebDriver's isDisplayed() method work

  27. 27

    Python で Selenium Webdriver を使用して HTML タグのすべての子からテキストを抽出する方法

  28. 28

    DockerコンテナでnodeJSアプリ、selenium、webdriver.ioテストを実行する

  29. 29

    Selenium Webdriver のブラウザーでページのズーム レベルをテストする

ホットタグ

アーカイブ