0

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
4

3 に答える 3

0

ID がなければ、Sahi 自動化フレームワークの _near と _under を使用してテストできます...私はそれを使用していますが、そのオープン ソース..要素を識別するさまざまな方法を試す忍耐力があります...クールで良い...

于 2012-07-10T18:05:07.423 に答える
0

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

生成された ID は、通常、誰もまだ気にしていないことを意味します。

于 2012-02-26T07:11:42.237 に答える