• 締切済み

Seleniumの要素指定について

現在Seleniumであるソーシャルゲームをテスト自動化しようとしています。 そこで、SeleniumIDEで録画して動作させると、ClickAndWaitのアクションで 毎回エラーになってしまう箇所があります。 どうやらリンクURLが毎回変更になってしまうらしいのです。 そこで、DOM指定やid指定、xpath指定など調べてみましたが、 あまりしっくりきません。 解決方法として、JavascriptなどをつかってSeleniumでテスト起動中に リンクURLを取得して、遷移するという方法が取れないでしょうか? Javascript以外でも他の方法があれば、ぜひ教えてください。 素人なので、質問の仕方などおかしなところがあったら、 確認のレスをいただけますでしょうか。

みんなの回答

回答No.1

回答になっていませんが、 有料ですが、Parasoft SOAtest というテスト自動化ツールもあるようですよ。

関連するQ&A

  • XPathでのワイルドカード指定

    改めて質問させていただきます。 XPathで、 //Test/TestText[id="1-*"]/text() といった指定をしたいのですが、こういった 指定方法は、XPathとして正しい書き方なのでしょうか? このXPath式が与えられ、これを使ってXMLを解析 したいのですが、もしこの記法がNGの場合、 変換を加えてワイルドカードを実現したいと思います。 どのようなアプローチがベストか、教えて頂けないで しょうか? #使用言語はperlです。

  • XML::LibXMLのfindnodes()で、ワイルドカードを使いたい

    XML::LibXMLでXPathを使いたいのですが、 ワイルドカードの指定がうまくいきません。 要素名に*を当てはめたいのですが、、、、 例えば以下の通りです。 下記XMLのid="1-1"とid="1-2"を抜きだしたいのです。 できればXPathにて指定したいのですが、、、 教えてください。 my $dom = $parser->parse_file($xml_file_str) or die; $x = "//Test/TestText[@id="1-*"]/text()"; $c = $dom->findnodes($x); 解析対象XML <XML> <Test> <TestText id="1-1">テスト1</TestText> <TestText id="1-2">テスト2</TestText> <TestText id="2-1">テスト3</TestText> </Test> </XML>

    • ベストアンサー
    • Perl
  • 特定URLからの遷移後、指定ULRへ転送する制御方法について

    javascriptでページ遷移の制御をしようと考えております。 特定URLからの遷移の場合、指定ULRへ転送するような制御をご教示いただけませんでしょうか。 onloadやif関数を使うことは想像つきますが、制御のための遷移前ページの取得方法が分かりません。 銅像宜しくお願いいたします。

  • HTML+PHP+JavaScript

    リンクからJavaScriptでPHPに遷移させ、書き換えた内容を表示するというものをやりたいのですが。。 PHPではcase文で場合わけし、モードによってHTMLを表示させる機能はできています。 しかし、HTMLのリンク<A href=""></A> で新しいウィンドウを開き、そのページにその処理を行いたいです。 現在ボタンなどでは下記のように遷移させています。 <!-- function send(action, mode){ document.forms[0].mode.value = mode; document.forms[0].action = action; document.forms[0].method = "post"; document.forms[0].submit(); return false; } //--> <INPUT TYPE="button" VALUE="編集する" onClick="javascript:send('{val PHP_PATH}{val EDIT_PATH}','baseinfo')"> これですと、指定したアクションのPHPに遷移し、このモードにより処理をわけています。 しかし、リンクがクリックされたら、処理にいき、 さらにその処理をしたデータを新しいウィンドウに表示されるというのがどうもうまくいきません。 普通に ・<A HREF="" onclick="javascript:send('{val PHP_PATH}test.php','template')" TARGET="conf">テスト</A> とすると、元のウィンドウに、修正した内容が反映され、新しいウィンドウはブランクしてしまいます。 何か他によい方法はありませか?

    • ベストアンサー
    • PHP
  • C#の指定したタグ要素を削除

    C#のRemoveChildメソッドを使用して、指定したタグ要素を削除したいです。 下記サイトのサンプルコードを見ると、タグ<zip></zip>で囲まれている箇所を削除していますが、例えばタグ<zip id="aaaaa"></zip>のようにIDがついている場合も削除することが可能でしょうか? ※IDは毎回変わります また不可能な場合、可能となる方法についてご教示頂きたいです。 サンプルコード http://hiros-dot.net/CS2005/XML/DOM/DOM18.htm

  • 親ページの要素をAJAXを使って読み込む

    親ページのリンクをクリックして子ページへと遷移する際に子ページ上に親ページの一部の要素を表示したく、下記のような処理を子ページに埋め込みました。 <script type="text/javascript"> $(function(){ $.ajax({ type: 'GET', url: '親ページのrootパス/index.html', dataType: 'html', success: function(data) { $("#tableArea").append($("#table01",data).html()); }, error:function() { alert('Any problem has occured!'); } }); }); </script> テストサーバへアップし、Chromeで動作確認のため、consoleで$("#table01",data).html()の値を表示させると空っぽで何もなく、子ページにも表示されません。 $(data)だけでconsoleに表示させると、親ページのDOMが出力されます。 問題解決方法についてご教授頂けると幸いです。

  • JAVASCRIPTのプルダウンメニューから指定のURLへ関数を送る

    JAVASCRIPT全くの初心者です。 どなたか教えていただけますでしょうか? 現状以下のようなJAVASCRIPTで指定のURLへ関数を送って リンクしております。 これをプルダウンで指定のサイトに関数を飛ばしたいのですが、 やり方が全くわかりません。 関数は21種類あり、以下はsend21()の部分のみですが、 これがsend1()~21まであります。 宜しくお願いいたします。 ●body内 <form method="post" action="reservationtop.asp" name="link21"> <a class="goto_reserv"href="javascript:void(0);" onClick="send21()">予約ページへ>></a> <input type="hidden" value="21" name="mh_cd"> </form> ●外部javascript function suite() { newwindow = window.open('yoyaku_cd','yoyaku'); } function send21() { document.link1.submit(); }

  • 別ウィンドウへのsubmitの挙動がおかしいです

    はじめまして。 ページ内の押下したボタン/リンクに応じて、それぞれ別の新しいウィンドウにフォームの値を渡して処理を行うプログラムを作成しています。 リンク1押下→ウィンドウAを開く→アドレス1に遷移 リンク2押下→ウィンドウBを開く→アドレス2に遷移 ボタン3押下→自画面でアドレス3に遷移 フォームは共通で、JavaScript内でウィンドウ及びアクションの指定を行っています。 しかし、実際に動かしてみると、以下の問題が起こりました。 ・ウィンドウを開いた後、いつまでも遷移しない(する時もある) ・ウィンドウを開いた後、意図しないアドレスに遷移することがある  具体的には、新規ウィンドウで、現在開いているアドレスへの遷移 ・フォームの値が送信されないことがある(する時もある) いろいろ調べてみたのですが、原因がわかりません。 お力を貸していただけないでしょうか。 文末に抜粋したソースを掲載します。 ブラウザはIE7、関連あるかは分かりませんが、PHPとsmartyを使っています。 宜しくお願いいたします。 【JavaScript部分】 function action1(){ document.form.action = "http://www.yahoo.co.jp" document.form.target = "_self"; document.form.submit(); } function action2(){ window.open("", 'win2', 'width=400, height=300'); document.form.action = "http://www.google.co.jp" document.form.target = "win2"; document.form.submit(); } function action3(){ window.open("", 'win3', 'width=400, height=300'); document.form.action = "http://www.msn.co.jp" document.form.target = "win3"; document.form.submit(); } 【HTML部分】 <form name="form" method="post" action=""> <input type="text" name="text1" value=""> <a href="javascript:action2();">リンク1</a> <a href="javascript:action3();">リンク2</a> <input type="button" value="ボタン3" onClick="action1()"> </form>

  • ランダムにjpgを外部読み込みし、リンク先を指定したい

    お世話になります。FlashMX2004使用です。 ページを更新するたびにランダムにjpgを外部から読み込んで、 かつjpgごとにリンク先を指定するFlashを作成中です。 リンク先のURL指定はFlashを触らずとも他の人ができるように、HTML上でJavascript指定にしたいのです。 そこまではできたのですが、問題は、 jpgの枚数を常に一定ではなく、時には30枚、時には50枚と変更したいのです。 今のところjpg枚数が決まっていれば以下のようなスクリプトでできています。 最初のフレームに、 ransu = Math.floor(Math.random()*3); if (ransu == 0) { gotoAndPlay("0"); } else if (ransu == 1) { gotoAndPlay("1"); } else if (ransu == 2) { gotoAndPlay("2"); } と指定し、ラベル"0"フレームには、 loadMovie("img/photo00.jpg", _root.loadwindow); として、loadwindowと名づけたMC枠にphoto00.jpgを読み込むようにしています。これでランダムにjpgが読み込まれます。 更にラベルで区切ったフレームごとに透明ボタンMCを置いて、そこにボタンアクションで、 on (release) { getURL ("javascript:wo00()"); } とし、実際のリンク先URLはHTMLファイルにJavascriptで指定するようにしています。 この方法だと、jpg(とリンク先URL)が3つなら3つと決まっていれば問題ないのですが、枚数を増やすごとにスクリプトも変更しなければなりません。 始めに50枚として設定し、jpgが10枚しかないと、11~50を乱数で選んだときには何も読み込まれず真っ白のままになってしまいます。 jpg(とそのリンク先)の数を後から変更できるように、 Flashで最大数を多めに設定するにはどうしたらいいでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • JSP内で外部jsファイルを指定する

    昨日から散々悩んでいます。 tomcatのJSPから外部jsファイルが読み込めません。 最初htmlのみでテストしたのですが そのときは何の問題も無く動きました。 URLの指定の仕方かなと思いましたが、 cssのほうは同じ指定の仕方で効いています。 <!---------- JSP内容 ------------------------> <!-- [テスト]ボタン押下でscript実行 --> <html> <head> <title>テスト</title> <script Language='JavaScript'    type='text/javascript' charset="shift_jis" src='/Test/script/Script.js'> </script> <script language='JavaScript' type='text/javascript'> <!-- function test(){ jstest(); } function test1(){ alert("test1:OK"); } // --> </script> <link rel="stylesheet" href="/Test/css/Style_ver1.css" type="text/css"> </head> <body> <form> <input type='button' class="button" value='テスト' onclick="test()"> </form> </body> </html> <!---------- 外部js内容------------------------> function jstest(){ alert("jstest:OK"); } <!---------------------------------------------> onclick="test1()"にすると動きます。 以前に作られた別アプリケーションのJ2EEのソースを見ると、 src=<c:url とcoreタグが使用されています。 coreタグの使用なしにURLを書くことはできないのでしょうか? すいませんが、どなたか教えてください。 宜しくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう