問題タブ [webdriver-io]

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.

0 投票する
1 に答える
683 参照

node.js - 実行条件の待機後に WebdriverIO スクリーンショットが失敗する

私は非常に単純な WebdriverIO スクリプトを作成しようとしています。このスクリプトは URL にヒットし、JS で何らかの条件が true になるのを待ち (グローバル変数が設定されているなど)、true になったらスクリーンショットを撮ります。しかしwaitUntil、「CommandError: Promise は真の値で解決されませんでした」というエラーが表示されます。以下は、私のスクリプトの簡略版です。

もちろん、私の実際の状態は単なる " return true;" ではありませんが、これは明らかに真の値を返す実行を示しています。

への呼び出しを削除するとscreenshot()、エラーは表示されません。

のタイムアウト値を高く設定しようとしwaitUntil()ましたが、呼び出しから実際の result.value を返そうとしましたが、.execute()どちらも役に立ちませんでした。

0 投票する
2 に答える
1568 参照

meteor - 別の WebDriverIO promise チェーンが終了するのを待つ方法はありますか?

特定のロールでテスト ユーザーをログインさせるテスト ステップを Cucumber で構築しようとしています。私のアプローチは、サインアウトオプションがそこにあることを確認してクリックしてから、ログインを試みることです。問題は、promise 構造がログアウトが最初に発生することを保証していないことです。また、常に最初にログインしているとは限らないため、基本的にログアウトが発生するまで待ってから先に進む方法が必要です。

私のテストステップは次のようになります。

の後に止める方法はありmyBrowser.waitForVisible('#appSignOut')ますか?意図した使用法をすべて一緒に見逃しているだけですか?

アップデート

私は新しいアプローチを試みましたが、まだ機能していません:

ここでのロジックは次のとおりです。

  1. #main_menu が表示されている場合 (ページが読み込まれている場合)
  2. 次に - #appSignOut が存在する場合は、それをクリックします
  3. 次に - #appSignIn が表示されるのを待ってから、ログインを完了します

私が得るエラーは次のとおりです。

しかし、私はこれのどれもまったく機能していないと思います。ポップアップ ブラウザの動作が速すぎて、何が起こっているのかわかりません。また、cucumber.log からも、ブラウザが何をしているのかがわかりません。

0 投票する
1 に答える
154 参照

node.js - node.jsでWebdriver.ioをうっかり実行する方法

これをnode.jsで実行しています

しかし、繰り返しごとに FireFox ブラウザーを取得します。ブラウザなしでこれを実行する方法はありますが、ブラウザ機能があります (つまり、ブラウザが開きません)。

ありがとう

0 投票する
2 に答える
3292 参照

node.js - webdriverio は、値を設定した後、要素が表示されないというエラーをスローします

初めてnodejsとwebdriverioを試す。これは、watir-webdriver または selenium-webdriver gems で試してみるとかなり単純なことのように見えますが、これは webdriverio で私を混乱させます。ドライバーが既に要素を見つけて値を設定しているのに、なぜこのエラーが発生するのか

私が得ているエラーは

0 投票する
2 に答える
5743 参照

javascript - Webdriver.io が NoSessionIdError でクラッシュする

webdriver.io と Jasmine を機能させようとしています。

彼らの例に従って、私のスクリプトはtest/specs/first/test2.js(構成に従って)にあり、次のものが含まれています。

テスト ランナーとして wdio を使用し、対話型セットアップを使用してセットアップします。その構成は自動的に生成され、すべて非常に簡単なので、投稿する必要はありません。

別のターミナル ウィンドウで、Java 7 で selenium-server-andalone-2.47.1.jar を実行しています。私のコンピューターには Firefox がインストールされており (テストを実行すると、Firefox は空白で起動します)、私のコンピューターは OS 10.10 を実行しています。 5.

テスト ランナーを起動すると、次のようになります。

これは非常に奇妙で説明がつかないと思います。特に、セッション ID も出力されることを考えると。

何か案は?

0 投票する
3 に答える
378 参照

selenium - XSLT テンプレートで作成された要素が Selenium に表示されない

問題は、入力に値を設定しようとすると、セレンが次のエラーを返すことです: RuntimeError: 要素は現在表示されていないため、操作できない可能性があります

ただし、入力は完全に表示されます。このテストでは、アプリケーションが正しく読み込まれるブラウザであるため、Firefox を使用しています。

アプリケーション コードを変更することはできず、アプリには多くのレガシー コードがありますが、問題を確認できる最も単純な例を再作成しました。

アプリケーション コードを変更しない回避策をご存知ですか?

私はwebdriverioを使用しています:

main.xml コンテンツ:

main.xsl コンテンツ:

helper.xsl コンテンツ: