問題タブ [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 に答える
728 参照

node.js - WebdriverJS/IO & PhantomJS - 属性セレクターを持つクリック ハンドラーが PhantomJS で機能しない

現在、WebdriverJS と PhantomJS を使用したアプリケーション テスト スイートの作成に取り組んでいます。テストが確実に機能するように、最初に Chrome 経由でテストを実行すると、すべて正常に機能します。ただし、Chrome を PhantomJS に交換すると、テストが中断されます。

この質問 - WebDriver PhantomJS Unable to find element, but works fine with Firefox - 非常によく似た問題の概要を説明しているように見えますが、同封の解決策は役に立たないようです。

Chrome では機能するが PhantomJS では機能しないタイプの大まかな例を次に示します。

PhantomJS で実行するときは、明らかに最初に WebdriverJS オプションを変更します。

しかし、テストを実行して logLevel を「verbose」に設定すると、次のようなエラー メッセージが表示されます。

「[data-id='1568911']」や「#foo」などの一般的な CSS2+ セレクターが、WebdriverJS を介して PhantomJS で機能しないのはなぜですか? それは PhantomJS のバグですか、WebdriverJS のバグですか、それとも私の実装での間違いですか?

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

javascript - webdriverioでフォーム送信後にURLを取得

サインイン プロセス テストを自動化する必要があります。そのためにwebdriver.ioを使用しています。

これが私の問題です。

私はこの奇妙なサインインプロセスを持っています:

  1. 通常の Web ページでフォームに入力する必要があります
  2. フォームを送信した後、存在しないURL にリダイレクトされますが、クエリ パラメータの 1 つにアクセス コードが含まれています。
  3. 次に、このアクセス コードを別の場所に送信して、アクセス トークンを取得します。

必要なのは、プログラムでステップ 2 を完了する方法です。1 と 3 は既にわかっているからです。

私はこのようにしようとしています:

submitFormただし、ページが読み込まれる前にコールバックが呼び出されるようです。このように、ログには以前に渡したものとまったく同じ URL が表示されます。

私がこのようにしようとすると:

私はこの奇妙な出力を得ます:

データ:text/html,chromewebdata

このコンテキストでは一時停止が完璧ではないことはわかっていますが、これを行う非同期の方法が見つかりませんでした。

誰でも助けることができますか?

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

selenium - SafariDriver で Selenium モバイル テストを実行するときに UserAgent を設定する

Safari で Selenium モバイル テストを実行するときに UserAgent を設定できるようにしたいのですが、その方法がわかりません。Chrome で同じテストを実行すると、次のように、desiredCapabilities で UserAgent を定義できます。

Safariで実行する場合は、同様の方法が必要だと思います。私は webdriverio を使用して Selenium プロジェクトをセットアップしていますが、それは問題ではないと思います。

ありがとう。

0 投票する
0 に答える
268 参照

webdriver-io - 同じスクリプトで var webdrriverio を require('webdriverio ') から require('webdriverjs-angular') に切り替えることができます

ログインページが非Angularで、他のページがAngularを使用するアプリケーションがあります。var webdriverio = require('webdriverio') を開始すると、スクリプトを作成できますが、スクリプトには mocha と chai を使用したかったので、最善の方法は Angular ページに require('webdriverjs-angular') を使用することです。ログインページに require('webdriverjs-angular') を使用してみましたが、例外としてタイムアウトが発生します。切り替えることができる分度器を試してみましたが、iframe内の要素を見つける際に他の問題があったため、webdriverioに切り替えました。同じコードでrequireをwebdriverioからwebdriverjs-angularに切り替えることができるか教えてください。はいの場合、サンプルコードを提供してください

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

mocha.js - Chai as Promised で Webdriver.io を使用して css プロパティを検証する方法

現在、Mocha、Chai、および Chai-as-Promised で Webdriver.io を使用していますが、CSS プロパティを検証しようとすると、検証する約束を得るのに苦労しています。

コード:

ただし、次のエラーが表示されます。

デフォルトのボタン: 小さいサイズ 1) デフォルトでは四角い角を持つ必要があります 1 失敗

1) デフォルトのボタン: 小さなサイズはデフォルトで四角い角を持つべきです: Uncaught AssertionError: expected { Object (property, value, ...) } to deep equal '0px' 0 pass (2s) at assertEqual (/node_modules/chai/lib /chai/core/assertions.js:393:19)