問題タブ [selenium-ide]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
watin - Watir/Watin スクリプトを Selenium スクリプトに変換する
Watir/Waitin スクリプトの Selenium への変換を自動化することは可能ですか? 問題は、Selenium ide が Firefox 専用であり、Internet Explorer で記録する必要があることです。
selenium - CSSロケーターを使用する場合の「window.Sizzleは関数ではありません」エラー
数か月前、XPathではなく名前でページ内の特定のリンクをクリックする方法を知りたいと思いました。
Selenium IDE:(XPathではなく)名前で特定のアイテムをクリックします
AutomatedTesterは、次の2つのソリューションを提供するのに役立ちました。
css = span:contains('Keith Duggan:Sideline Cut')
どちらも正常に機能しましたが、私のテストケースでは、非常に簡単なため、2番目のアプローチ(CSSを使用)を使用することにしました。ただし、このコードは機能しなくなりました。
過去数日間、このTCを実行しようとすると、次のエラーが発生します。
ここで何が起こっているのかについて何か考えはありますか?SeleniumはCSS構文に変更を加えましたか?
ご協力いただきありがとうございます
}万能薬{
java - selenium java ant run
私はRuby-Seleniumを知っrun_in_parallel
ています。run_in_sequence
ant runコマンドでJAVAを使用して、parallel
またはant runsequence
コマンドを使用して、セレンテストを実行するにはどうすればよいですか?
javascript - 豊富な Javascript アプリケーションで Selenium-IDE を使用していますか?
問題
私の職場では、ほぼ完全に JavaScript 駆動のイントラネット アプリケーションの自動テストを作成するための最良の方法を見つけようとしています。現時点では、次の適切なトレードオフを見つけるのに苦労しています。
- 再利用可能でネスト可能な GUI コンポーネントのアプリケーション コード。
- テストチームが簡単に作成できるテスト
- 一度記録してから自動化できるテスト
- サイトの外観を少し変更しても壊れないテスト
Selenium-IDE から単純に生成された XPath 式 (または jQuery セレクターなどの他の可能な式) は、多くの場合、再現性がなく、非常に壊れやすいものです。逆に、ページ上のすべての重要な DOM 要素に対して特別な一意の ID 値を JS コードに生成させることは、それ自体が頭痛の種であり、再利用可能な GUI コンポーネントと、テストの再実行時に一貫性を保つ必要がある ID によって複雑になります。走る。
他の人はこの種のことでどのような成功を収めましたか? リッチ JS インターフェースの自動化されたアプリケーションレベルのテストをどのように行いますか?
制限事項
- jQuery 1.4.x にアップグレードできるように、JavascriptMVC 2.0 を使用しています。
- テスト作成者は、ほとんどの場合、Selenium IDE を使用して直接記録するように訓練されています。
- テスト リーダーは、ページ上のクリック可能な要素ごとに、ページ固有の HTML ID を好むでしょう...
- 特別な式を書いたり変更したりするようにテスターをトレーニングする (どの HTML クラス名が重要な分岐点であるかを伝えるなど) ことはできません。
- 再利用可能な JavaScript コンポーネントを作成しようとしていますが、これは、それ自体 (またはそれらに含まれるもの) を独自のものとして扱うことができる GUI コンポーネントがほとんどないことを意味します。
- 一部のコンポーネントは、操作で既に HTML ID 値を使用しています。とにかくこれを避けたいのですが、ID ベースのテストの考え方が複雑になります。
- Selenium-IDE インストール テスターが使用するカスタム機能 (ロケーター ビルダーや新しいロケーター メソッドなど) を追加できる場合があります。
- アイテムが保存されている場合でも、従来のブラウザーの観点からは、進行中のほとんどすべてが単一の「ページ読み込み」内で発生します。
現在の考え
テスターが記録しているときに、Selenium-IDE 用のカスタム ロケーター ビルダー (javascript コード) がアプリケーション コードと対話するシステムを検討しています。このようにして、アプリケーションは、任意の DOM 要素に対してほぼ柔軟な式 (XPath または jQuery) を生成する責任を部分的に負うようになります。これにより、テスターのトレーニングをさらに必要とすることを回避できますが、考えすぎではないかと心配しています。
selenium-ide - Selenium - ランダムなIDを持つ画像をクリックする
以下はコードで、imd idはランダムに生成されます。画像をクリックしてグリッド内のデータを削除したい。ただし、この画像はより多くのグリッドに存在することに注意してください。したがって、srcを指定すると、必要なデータではなく最初のデータが削除されます。
img id="img30" onclick="removeTest("30A0");" onmouseout="hideImage('img30')" src="resources/images/button_delete.gif" style="visibility: hidden;"/>
ajax - Seleniumを使用してajaxベースのサイトを記録する方法
多くのajaxがあり、自動化が必要なサイトがあります。ただし、サイトのajax部分を正しく記録できません。waitforキーワードを試しましたが、失敗しました。また、次のWebサイトhttp://www.ibm.com/developerworks/opensource/library/os-webautoselenium/index.htmlにもアクセスしましたが、コードをMyEclipseに適用する方法を理解できませんでした。
誰かがajaxアプリケーションをテストする方法についていくつかの良いチュートリアルを持っていますか?
前もって感謝します
selenium-ide - Selenium IDE で選択オプションを作成する
クレジット カードの有効期限を設定するために 2 つの選択があり、カードの有効期限が切れたときにエラー メッセージが正しく返されることをテストしたいと考えています。私が抱えている唯一の問題は、リストが2011年1月に開始され、まだ期限切れになっていないため、現在期限切れの値を選択できないことです。私が考えているのは、セレンでjavascriptを使用して、既知の期限切れの値を挿入することです。これを行う方法や、達成するためのより良い方法についての提案について誰か考えがありますか?
selenium - セレンの元素名を識別する方法
一致する要素は次のとおりです。
Selenium IDEを使用していますが、結果値のテキストをどこでも一致/キャプチャする方法がわかりませんか?
selenium - onchangeイベントはseleniumタイプのコマンドでは発生しません
私はいくつかの値を入力しています、変更時に合計を行います。しかし、どういうわけか、このイベントはセレンタイプのコマンドで発生していません。
typeKeyとtypeAtも試しましたが、成功しませんでした。これに対する回避策はありますか?
selenium - 入力要素に入力されたテキストをテストするにはどうすればよいですか?
誰かがテキスト ボックスに整数を入力すると、データベースからデータを取得する Web ページがあります。データは最終的にいくつかのテキスト入力コントロールになります。簡単です。ajax を起動するセレンは次のとおりです。
ぼかしイベントの後、ページにはテキストが含まれる 6 つの入力があります。テキストが入力に存在するのを待ち、それらが存在すると主張したいと思います。これを行う効果的な方法は何ですか?
私はもう試した:
waitForExpression
jquery 呼び出しを使用 ($('...').val() != ''
ただし、jquery がページに読み込まれているにもかかわらず、これが jquery のために機能するかどうかは疑わしい); xpathも試しましたが、それもうまくいきませんでしたwaitForText
(ロケータ、パターン)、これは最も明白なもののように見えますが、実際には機能しません。フィールドは入力であるため、私は疑っています
クエリしている要素はinput
コントロールであるため、ここで別のアプローチが必要ですか?