質問

RobotFrameworkとSelenium2Libraryを使用してEXTJS Webアプリをテストしていますが、動的IDが割り当てられているため、いくつかのHTML要素を見つけることはできません。

次のように:selenium2Libraryは、このようなHTMLコードを見つけることができませんでした:

<button type="button" id="ext-gen56" class=" x-btn-text silk-add">create vm</button>
.

詳細XPathとCSS式を使用しようとしましたが、それらは機能しません。この問題に対処する方法は?あらゆる助けが高くなるでしょう。

使用したツールは、自動Webアプリテストに使用されるRobotFrameworkとSelenium2Libraryです。

Parts of my test script:

 // filename is A.txt
 //this is  a resource file including keywords which are used by testcase file 
*** Keywords *** 
open vmmanager page
    [Timeout]
    click element    xpath=//table[3]/tbody/tr[2]/td[2]/em/button

create vm
    [Arguments]    ${vm_name}    ${input_description}
    click element    xpath=//table[3]/tbody/tr[2]/td[2]/em/button
    click element    xpath=//td[2]/table/tbody/tr[2]/td[2]/em/button
    click link    xpath=//tbody/tr/td[5]/div/a
    click link    xpath=//tbody/tr/td[7]/div/a
    input text    xpath=//div/div/input    ${vm_name}
    click image    xpath=//div/div/img
    click element    xpath=//div[22]/div/div
    click image    xpath=//div[3]/div/div/img
    click element    xpath=//div[19]/div/div

name is null
    alert should be present    ${expect}
    click button    xpath=//div[2]/div/div/div/div/table/tbody/tr/td/em/button
    click button    xpath=//td[5]/table/tbody/tr[2]/td[2]/em/button

contact engineer
    alert should be present    
    click button    ext-gen311

//filename is B.txt
//this is testcase file
*** Settings ***
Resource       fiel A.txt   

*** Test Cases ***
VC_VM_01
    open vmmanager page
    create vm    ${empty}    description
    name is null

VC_VM_03
    open vmmanager page
    create vm    valentine    day
    contact engineer
.

役に立ちましたか?

解決

静的IDの設定方法を見つけるだけです。アプリケーションコードにアクセスできない場合は、開発者がコンポーネントの静的IDを割り当てることを確認します。 - これは最も簡単な解決策です。

生成されたIDSは通常、まだそれらを気にしないことを意味します。

他のヒント

IDを使用せずに、Sahi Automation Frameworkから_nearと_underを使用してテストできます。

要素のほとんどはそれらに存在するテキストを持っているでしょう。

xpath=//button[contains(text(), 'create vm')]
.

一般的なアプローチは

xpath=//*[contains(text(), 'create vm')]
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top