問題タブ [ui-testing]
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.
.net - コード化された UI の「常に検索」構成は、親/子オブジェクトでどのように機能しますか?
例として、非常に単純な UI を使用します。1W
つのボタン ( ) を持つウィンドウ ( と呼びますB
)。コード化された UI の UIMap ではB
、 の子ですW
。つまり、マップの XML 仕様では、の「子孫」にB
表示されます。W
ここで、open の 2 つのインスタンスがW
同時にあるとします。と区別する検索プロパティがあります(たとえば、別のW1
プロパティがあります) が、親以外で区別する方法はありません。W2
Name
B1
B2
W
次の手順でテストを実行します。
- ウィンドウの 2 つのインスタンスを開き
W1
、W2
- の名前と一致
Name
するように UIMap のプロパティを設定します。W
UITestControl
W1
Mouse.Click()
UIMap でaを実行しB
UITestControl
ます。- の名前と一致
Name
するように UIMap のプロパティを設定します。W
UITestControl
W2
Mouse.Click()
UIMap でaを実行しB
UITestControl
ます。
私の理解では、「常に検索」構成がない場合、これはステージ 3 と 5 の両方でクリックされることにつながりW
ます。したがって、私の質問は、次のシナリオで何が起こるかです。B
B1
B
には「常に検索」が設定されていますが、設定されていW
ません。W
には「常に検索」が設定されていますが、設定されていB
ません。
testing - Visual Studio のコード化された UI テストの代替
コード化された UI テストの代替手段を探しています。残念ながら、私は Visual Studio 2013 professional しか実行していません
私はすでにFirefox用のSeleniumを見てきましたが、私のバージョンのFirefoxでは動作しないようです
eclipse-rcp - Q7 キャプチャおよび記録ツールから Eclipse への外部アプリケーションの記録
Androidエミュレーターをトリガーしてアプリを実行するEclipseベースのモバイルアプリ開発IDEを使用しています。Xored Q7 自動化ツールを使用して、この IDE のテスト手順を自動化したいのですが、エミュレーターをトリガーした後にテストを記録する方法が見つかりません。Q7にそのような機能があるかどうか教えてください。つまり、アプリがエミュレーターまたは実際のデバイスで正常に動作する場合にのみ、テストの成功を確認できます。そのため、エミュレータまたはモバイル デバイスでアプリの動作を記録する必要があります。
asp.net-mvc - WatiN を使用した MVC の UI テストとコントローラーへのパラメーターの挿入
まず、これで間違ったツリーを吠えている可能性があるので、間違っている場合は修正してください。
つまり、WatIn を使用する sme UI 単体テストを作成しようとしています。現在、UI のサブセットのみに取り組んでいます。
Product という名前のコントローラーとそれに関連付けられたビューがあります。コントローラーは、コンストラクターを介して ProductRepository を受け取ります。
私がうそをつくのは、さまざまな製品カテゴリがさまざまなテストで正しくレンダリングされることをテストすることです。そのため、ある種のスタブ化またはモック化されたリポジトリをコードに渡す必要があります。
私のテストは次のように設定されています。
では、適切な製品を提供するリポジトリをコントローラに渡すにはどうすればよいでしょうか? using ステートメントを呼び出すと、システムがブラウザーを起動したため、手遅れです。しかし、ブラウザが起動するまでコントローラは存在しないため、適切なリポジトリに挿入できません。
または、私は根本的にこれを間違っており、データベースに対してのみWatiNを使用できます。データベースから各タイプの製品のメンバーを選択するようにプログラムする必要があり、そのようにテストする必要がありますか?
angularjs - UI テストのためのデータのモック
これで、Web アプリと一連の E2E テストができました。
データを有効な状態に保つのが大きな苦痛であることを除けば、それはすべて素晴らしいことです。データが有効なままになるようにテストを記述しようとしていますが、これはオーバーヘッドであり、テストが失敗すると、他の多くのテストに影響を与えます。
そう
テストを実行するたびにデータベースの復元を試みています (テストのためにローカル データベースを実行しています)。
仮想マシンに db を配置してスナップショットを作成することを検討しています - ライセンス コストが高い
サービスへの特定の呼び出しをインターセプトし、定義済みのデータを返すインターセプター (AngularJS アプリ) を試していました。適切に機能させるのは難しく、オーバーヘッドが大きすぎます。
それは非常に一般的な問題点であるに違いありませんが、これにアプローチする方法についてはあまり見つけられないようです。では、これをどのように解決しますか?
javascript - Dalek.js で記述されたテストの繰り返し
いくつかの UI テストを開発しています (Phantom.js 構成で実行)
たとえば、テスト自体は非常に単純です (以下のサンプル コードを参照してください)。
- ページをブラウズします - 予想されるタイトルが正しいことを確認します
ボタン/項目をクリックしてリストから項目を選択します。正確な項目が選択されていることを確認してください。
/li>
私の質問はこれです。同じ一連のテストをループで数回実行したいと思います。Dalek.JS のヘルプとサンプルをグーグルで検索しましたが、その方法に関するサンプルや記事は見つかりませんでした。
どんな助けでも大歓迎です
android - Expresso を使用した Android UI のテスト: ステージのアクティビティは再開されていません
現在、LoaderManager.LoaderCallbacks を実装する Android ListActivity に機能テストを実装するのに苦労しています。このアクティビティには、ユーザーが文字列を入力するための EditText と、カスタム コンテンツ プロバイダーからデータをフェッチするカスタム CursorAdapter を介して入力される ListView を含むシンプルなレイアウトがあり、LoadManager を使用して、次の場合にリスト ビューのコンテンツを自動的に更新します。それは変わる。
この ListActivity の期待される機能は、ユーザーが EditText に文字列を入力し、ListView から 1 つまたは複数の項目を選択することだけです。
この機能テストを達成するために、私は Expresso を使用しています。実装は次のとおりです。
実行すると、エラー スタック トレースは次のようになります。
このテスト設定は、アプリの他の機能テストで使用したものと同じで、完全に正常に機能しました。他のテストの唯一の違いは、このアクティビティがCursorAdapter と LoadManager。
誰かがより文脈化が必要な場合は、尋ねてください。ありがとうございました :)
arrays - selenium/webdriverjs を使用したテーブルのトラバース
Node と webdriverJS を使用して Selenium でテーブルをトラバースしたい:
すべての行で、名前と行のセルを確認したいと考えています。
私が持っているもの:
これは最初のいくつかの行では機能しますが、多くの行では特定の時点で失敗します。
私の理論: findElement
for ループ内の呼び出しがマネージャーに渡され、for ループが終了します。次に、ガベージ コレクターが行配列を削除します。マネージャーがfindElement
呼び出しを実行すると、配列とその要素は存在しなくなり、失敗します。私が得るエラーは次のとおりです。
StaleElementReferenceException : The Element is not Attached to the DOM
配列は実行の早い段階でまだ存在するため、最初の行で機能します。
私の質問:
私は何を間違っていますか?
私の理論は正しいですか?
row[i]
参照を findElement 呼び出しにバインドして、元の配列よりも長く保持するにはどうすればよいですか?
- - 編集 - -
内部の findElement 呼び出しの 1 つを削除し、行ごとに 1 つのセルのみを検索すると、より多くの行をカバーできます。これにより、この実装では時間が役割を果たすと思いました。これは当てはまらないので、おそらく何か間違ったことをしています。
forEach
Seleniumに関数のようなものはありますか?