###前提・実現したいこと
Selenium IDEでテストコードを整備しようとしています。
動的にIDが変わる箇所をクリックさせるスクリプトの整備で困っています。
###発生している問題
テスト対象のWEBページは以下のようなコードになっています。
button id は描画のたびに動的に変更されます。
<div id="z_qs_p9" style="width:100%;height:100%;"> <div id="z_qs_r11" class="sectionpaneltitle" align="start"> <div id="z_qs_s11" class="perspectiveButton" onmouseout="dragHoverClick( $e('z_qs_s11'), event, true, null, 0);" onmouseover="dragHoverClick( $e('z_qs_s11'), event, false, 'PerspectiveDND', 500);"> <span z.type="zul.btn.Button" id="z_qs_t11" class="z-button" z.zcls="z-button" z.disd="true"> <table id="z_qs_t11!box" cellspacing="0" cellpadding="0" border="0" class="plainBtn z-button z-button-disd" style="font-weight:bold;"> <tbody> <tr> <td class="z-button-tl"> <button id="z_qs_t11!real" class="z-button" disabled="disabled"></button> </td> <td class="z-button-tm"></td> <td class="z-button-tr"></td> </tr> <tr> <td class="z-button-cl"></td> <td class="z-button-cm">Link1</td> <td class="z-button-cr"> <div></div> </td> </tr> <tr> <td class="z-button-bl"></td> <td class="z-button-bm"></td> <td class="z-button-br"></td> </tr> </tbody> </table> </span> <span id="z_qs_u11" class="z-separator-ver-bar z-label" style="width:1px;" z.zcls="z-label"> </span> </div> <div id="z_qs_v11" class="perspectiveButton" onmouseout="dragHoverClick( $e('z_qs_v11'), event, true, null, 0);" onmouseover="dragHoverClick( $e('z_qs_v11'), event, false, 'PerspectiveDND', 500);"> <span z.type="zul.btn.Button" id="z_qs_021" class="z-button" z.zcls="z-button"> <table id="z_qs_021!box" cellspacing="0" cellpadding="0" border="0" class="plainBtn z-button z-button-over z-button-clk"> <tbody> <tr> <td class="z-button-tl"> <button id="z_qs_021!real" class="z-button"></button> </td> <td class="z-button-tm"></td> <td class="z-button-tr"></td> </tr> <tr> <td class="z-button-cl"></td> <td class="z-button-cm">Link2</td> <td class="z-button-cr"> <div></div> </td> </tr> <tr> <td class="z-button-bl"></td> <td class="z-button-bm"></td> <td class="z-button-br"></td> </tr> </tbody> </table> </span> <span id="z_qs_121" class="z-separator-ver-bar z-label" style="width:1px;" z.zcls="z-label"> </span> </div> <div id="z_qs_221" class="perspectiveButton" onmouseout="dragHoverClick( $e('z_qs_221'), event, true, null, 0);" onmouseover="dragHoverClick( $e('z_qs_221'), event, false, 'PerspectiveDND', 500);"> <span z.type="zul.btn.Button" id="z_qs_321" class="z-button" z.zcls="z-button"> <table id="z_qs_321!box" cellspacing="0" cellpadding="0" border="0" class="plainBtn z-button"> <tbody> <tr> <td class="z-button-tl"> <button id="z_qs_321!real" class="z-button"></button> </td> <td class="z-button-tm"></td> <td class="z-button-tr"></td> </tr> <tr> <td class="z-button-cl"></td> <td class="z-button-cm">Link3</td> <td class="z-button-cr"> <div></div> </td> </tr> <tr> <td class="z-button-bl"></td> <td class="z-button-bm"></td> <td class="z-button-br"></td> </tr> </tbody> </table> </span> </div> </div> </div>
###試したこと
LocatorとしてID、name、CSS、Xpathが利用できると思うのですが、いずれもいろいろ試しましたがうまくいきませんでした。
CSSでの指定で以下を試して見ましたが、画面上のほかの要素でtdタグの同じ名称のコードがあったため、そちらがクリックされてしまいました。
css=td:contains('●●●●')
こういったサイトも参考に見ました。
http://www.guru99.com/locators-in-selenium-ide.html
https://newcircle.com/bookshelf/selenium_tutorial/locators
###補足情報(言語/FW/ツール等のバージョンなど)
テスト実行端末はWindows10
ブラウザはFirefox 51.0.1 64bit
Selenium IDE は2.9.1 です。
画面上、毎回同じ場所に表示されるので座標で指定できるならそれでも良いと思っています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/28 04:58 編集