2017-01-26 13 views
0

テーブルに新しいエントリ(バナナ)を作成し、その後エントリを変更して削除するテストシナリオがあります。相対xpathとテキスト記述子を使用して要素を検索

テーブルには、新しいエントリのテキストの説明の横にある変更ボタンと削除ボタンがあります。相対xpathを使用してテキスト値を探し、実行されているテストシナリオに応じて、何らかの形で削除または変更ボタンを選択したいと思います。 enter image description here

使用されているコードのサンプルは次のとおりです。ここで

*** Settings *** 
[Documentation] Delete Fruit from table 
Suite Teardown Close all browsers 
Library Selenium2Library 
Library XvfbRobot 
Library Collections 

*** Variables *** 
${delFruit} Banana 

*** Test Cases *** 
Delete Fruit Button 
    wait until element is visible xpath=//div[@id='${delFruit}'] 
    click element xpath=//div[@id='${delFruit}']/a[2]/span 
    confirm action 

は舞台裏で、HTMLのスニップです - 削除ボタンのすべてが「フルーツの削除」のテキスト記述子を使用します。

<a class="button micro primary error" onclick="deleteFruit(3)" href="javascript:void(0)"> 
    <span class="fa fa-trash" title="Delete Fruit" border="0" align="absmiddle"></span> 
    </a> 
    </td> 
    <td class="cell ">Banana</td> 

問題は、テーブルに新しいエントリを作成すると、テーブルの内容がアルファベット順に変更されることです。実際には、バナナはAppleとOrangeの間に入ります。 click element xpath=/html/body/div[1]/div/div[2]/div/div[2]/table/tbody/tr[1]/td[1]/a[2]

私はテーブル項目の配置としてバナナxpath=/html/body/div[1]/div/div[2]/div/div[2]/table/tbody/tr[1]/td[1]/a[2]の左にある要素を識別するための方法を見つけるために望んでいたが、のようにシフト:

私は、ハード削除ボタンをクリックして要素のアクションをコーディングすることができ新しい項目が追加されます。

誰もバナナの左側にある削除ボタンの選択方法に関する提案はありますか?

答えて

1

限り、あなたの状況を理解し、prescending-siblingのXPath軸を助ける必要があります。私が探していたまさにです

//td[contains(text(), 'Banana')]/prescending-sibling::td/a[/span[contains(@title, 'Delete')]]

+0

おかげアントン!私は今それを試みている! –

関連する問題