問題タブ [chimp.js]
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.
javascript - (Webdriver-io を使用して) iFrame 内にある要素に要素をドラッグしようとしていますか?
現在、Webdriver IO、Chimp JS、および Cucumber JS を使用しています。要素を iframe 内の別の要素にドラッグするのに少し苦労しています。移動したい要素だけでなく、使用後にiframe内の要素を見つけることができましたが、要素client.frame(0);
をクリックする方法が見つかりません.iframeに切り替えて、移動したい要素を見つけますに移動してから、要素を移動します。
簡単にするために、ここに写真があります。要素 1 を要素 2 に移動したいのですが、要素 2 は iframe 内にあります。
docsを見ると、hold、release ext などの潜在的に役立つアクションがたくさんあります。しかし、私はデスクトップで作業しているため、モバイル アクションを使用できません。
この制限により、私が利用できる唯一のドラッグ アンド ドロップ機能はdragAndDropのように見えますが、JavaScript バージョンの Webdriver の iframe 内の要素にオブジェクトをドラッグ アンド ドロップする方法はないようです。私はこれを考えるのが正しいですか?Cucumber JS のみを使用してこれを行う方法はありますか? ここで何か大きなものが欠けているように感じますが、それを理解できないようです:\
selenium-chromedriver - Webdriverio/chimpjs - 位置情報を許可して Google Chrome を起動する
地理位置情報に大きく依存する Web アプリケーションを作成しています。BDD を実行するために、chimpjs (cucumber、webdriverio、chai の組み合わせ) を使用しています。地理位置情報を許可して Google Chrome を起動したいと思います。クロムの [許可] ボタンをクリックしてジオロケーションを許可する方法が見つからないため、これを行う必要があると思います。
cucumber ディレクトリに chimp.js 構成ファイルがあります。その内容は次のとおりです。
そんなこと知ってる:
- クロムは、実行時に提供される可能性のあるプロファイル情報を使用します
- 1に設定する必要があるオプション「geolocation」があります
- 他の関連するネストは「prefs」と「default_content_setting_values」です。これは、Chrome の設定を掘り下げて学んだことです。
私が理解できないのは、これらのうちどれを chromeOptions に渡す必要があるか、そして何をどこにネストする必要があるかです。
webdriver を使用して chrome を起動し、位置情報を有効にする必要があったのは私だけではないと確信しています。
meteor - テストを実行していない場合、チンパンジーの実行を失敗させる
簡単に言えば、デプロイ前にすべてのテストを実行する継続的インテグレーション パイプラインを通過する流星アプリがあります。私のテストはchimpで実行され、テストを実行する前に、最新バージョンの各ビルドでCI環境にchimpをグローバルにインストールしていました。
最近、チンパンジーはややメジャーな更新を行い、その結果、チンパンジーの実行で 1..0 テストが実行されました。チンパンジーのバージョンが原因であることがわかった後、チンパンジーのインストールをローカルに変更し、特定のバージョンでロックしました。
問題は、私のパイプラインが合格していたことです。なぜなら、0 回のテストの合格はまだ 0 回のテストの失敗です..!
テストがまったく実行されない場合、チンパンジーを失敗させようとしています。どのように行うのが良いでしょうか?
出力をgrepして「1..0」に一致させようとしたところ、運が悪く終了/ b 1ステータスになりました。最善の解決策は、chimp コマンドのみを使用することです。
それについてのヒントを教えてくれる人に感謝します。
javascript - Docker コンテナでヘッドレス ブラウザ テストを実行する方法
チンプを使用してモカ テストを実行する node.js アプリケーションがあり、ローカル OS 内で実行すると正常に動作します。Google Chrome を使用して UI テストを行います。
現在、私はこのアプリケーションをドッキングしています...しかし、ブラウザに関してUIテストを実行するために何が必要かはわかりません。
ヘッドレス Chrome ブラウザをインストールするために、 https://github.com/workflow/docker-chimp/blob/master/Dockerfileのコマンドをいくつか使用しました。
私のテストは「すべての前に」フックで失敗します...しかし、それがどこにあるのか、なぜそれが起こるのかわかりません..テストはホストOSで正常に実行されます。
問題の内容を確認するにはどうすればよいですか?
meteor - Chimp を使用した流星の受け入れテストでは、常にエラーが発生します
以下の例に従って、Meteor で受け入れテストがどのように実装されているかを確認します。
http://www.mhurwi.com/tutorial-test-driven-development-with-meteor-cucumber-chimp/
以下は私が試した手順です
- Chimp をグローバルにインストールします。つまり、npm install -g chimp
- 上記のリンクから git の例をダウンロードします。
- ポート 3000 で meteor アプリケーションを実行する
別のターミナルを開き、次のコマンドを実行します
チンパンジー --ddp= http://localhost:3000 --watch --path=tests
サーバーまたはクライアントのエラーなしで meteor アプリケーションを実行できるにもかかわらず、常に次のエラーが発生します。
ノードのバージョン: 4.2.3
アプリ流星バージョン: 1.2.1
ベース Meteor バージョン: 1.4.0.1
私が間違っていることを理解していません...どんな助けも大歓迎です。
以下の完全なエラーログ
更新されたログ
javascript - chimp.js を使用して --no-sandbox モードで chrome を実行する
チンパンジー + モカ + セレンを使用しているときにサンドボックスの外でクロムを実行するようにチンパンジーに指示する方法はありますか?
彼らの Web サイトで、ほとんどの構成はコマンド ラインから実行できると読みましたが、ドキュメントで可能な引数のリストを見つけることができませんでした。
meteor - Chimp 受け入れテストでイオンサイドメニューボタンをクリックできない
サイドメニューを開いてログアウトボタンをクリックしてユーザーをログアウトさせる受け入れテストを作成しようとしています。チンパンジーが文句を言ってUncaught Error: element not visible
います。これが私のテストです:
browser.click
それが成功したという行を取り出すと、それが表示されていることを意味するため、私には奇妙です。
その他の洞察:
- サイド メニュー ボタンをフォアグラウンド コンテンツのサイド メニューの外側に貼り付けると、クリック可能になります。
- サイド メニューの外側のフォアグラウンド コンテンツは
ion-pane
. スライドして、translate3d スタイルを使用してサイド メニューを表示します。
このエラーを解決してログアウト (または任意のサイド メニュー) ボタンをクリックするにはどうすればよいですか?
selenium - 指定された幅と高さでブラウザを開くように Chimp を設定するにはどうすればよいですか?
最近、私はChimpを使い始めましたが、私のテスト スイートは成長を続けています。特にモバイル ビューポートで実行する必要がある機能を実装したいと考えています (たとえば、ハンバーガー メニューのテストなど)。このようなシナリオには @mobile タグを付けます。
Chimp はデフォルトで、デスクトップ画面の半分の解像度 (私の場合は 931x1013px) で Chrome Web ドライバーで実行されますが、たとえば 640x960 の電話解像度で実行したい)。
構成ファイルを使用して Chimp セッションを構成できることはわかっていますが、Chrome インスタンスのブラウザー解像度を制御する設定が見つかりません。phantom_w / phantom_h の設定を見つけましたが、Chrome Web ドライバーとは無関係のようです。
Chrome Web ドライバーを特定の解像度で強制的に実行するにはどうすればよいですか? おそらくdesiredCapabilitiesを介して、そうするようにChimpを構成できますが、どうすればよいですか?
注: Node 6.4、NPM 3.10.5、Chimp 0.34 を使用していますが、これまでのところすべての機能で問題なく動作しています。
node.js - docker コンテナーでの実行中に Chimp がタイムアウトする
xvfb と chrome を使用して docker コンテナー内でエラーが発生しています。
node_modules/chimp/dist/lib/cucumberjs/hooks.js:19 function timed out after 60000 milliseconds
完全なログ: http://pastebin.com/7yHq28dT
ローカルでは問題なく動作しますが、docker コンテナーで実行できないようです。
javascript - JSON 要素のリストを反復処理し、webdriverio を使用してそれらの属性にアクセスする方法は?
[Chimp.js の使用 – 同期スタイルの webdriverio API]
要素の配列を適切に反復処理するにはどうすればよいですか? または、より具体的には、要素自体の属性にアクセスするにはどうすればよいでしょうか? API にある .elements() 関数と、そこから要素自体を抽出する方法について混乱しています。
属性にアクセスするにはどうすればよいですか?
(出力)
... .ELEMENT を呼び出すと未定義の呼び出しが発生するため、API / 構文を使用している可能性があります。
https://github.com/webdriverio/webdriverio/issues/273を見ましたが、 .ELEMENT .value と関数のどの組み合わせを試しても、属性にアクセスできません。ヘルプ?
console.log("myItem: " + JSON.stringify(elemArray[myItem].ELEMENT));
注 -出力を使用して印刷して要素自体を探索しようとすると、