問題タブ [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.
webdriver-io - WebdriverIO 'spec' テストをノード ファイルとして実行する
私はwebdriverioが初めてです。ノードアプリケーション内でどのように構成および使用することになっているのかわかりません。webdriverio がインポートされているときに「スペック」テストを実行するにはどうすればよいですか? それはできますか?
webdriver-io - Webdriverio -- Elements が動作しない
Elements を使用して要素の配列を取得しようとしていますが、ここでは機能しません。
誰でもそれで私を助けることができますか?どうもありがとうございます。
ここに私のコードがあります:
今、すべてのオプション要素を取得しようとしています:
しかし、「res.length」に対して「未定義」の結果が得られました。
getText を使用すると、正しい結果が得られます。
webdriver-io - WebdriverIOでinput type="date"から日付をクリアする方法
私は現在WebdriverIO
、Webアプリを使用して開発しています。最近、入力から日付を設定しようとしましたtype="date"
が、エラーが発生しました
無効な要素の状態: 要素を消去するには、要素をユーザーが編集できる必要があります。
を使用してエラーを取り除くことができることがわかりましたaddValue()
が、それでも値はどの API でもクリアされません。
また得る
無効な要素の状態: 要素を消去するには、要素をユーザーが編集できる必要があります。
フォームから値を削除するにはどうすればよいですか?
node.js - WebdriverIO を使用した Firefox の基本認証
私は WebdriverIO を使用して Selenium テストを作成しています。
ステージング Web サイトで資格情報を渡そうとしています。私はいくつかの解決策を試しました:
- Firefox プロファイル: WebdriverIO では動作しません。Java では問題ありません
- そのようなURLのユーザーとパスワード:
http://user:password@site.com/
webdriver-io - Webdriverで一致するすべての要素をクリックする方法は?
最初の要素だけでなく、セレクターに一致するすべての要素をクリックするにはどうすればよいでしょうか?
javascript - webdriver-io での beforeEach の使用
webdriver-io で beforeEach を使用する方法を知りたいです。私は CMS をテストしており、すべてのテストの前にログインできるようにしたいと考えています。ターミナルは、エラーがあり、要素が見つからないことを示しています。基本的には、browser.login() を書かなくても毎回ログインできるようにしたいです。
それが私のログインコマンドです。
これは私のbeforeEachです。
また、関数呼び出しも返そうとしました。
angularjs - angular SPAのロード時のorg.openqa.selenium.TimeoutException
コードを同期的に定義できるように、いくつかのファイバーマジックでwebdriver.ioを強化する chimp.js を使用しています。これはコードです:
最初のものWhen
は問題なく実行されます。2番目When
も機能しますが、私は見ることができません
ログインした
コンソールで。どちらも同じ Web サイトで実行され、同じボタンをクリックします。2 番目のケースでは、ログインが成功した後、ブラウザーは angular SPA にリダイレクトされます。ここではすべてが正しくロードされますが、それだけです。コールバックは発生しません。
でテストを実行する--debug --log=command
と、これが最後の行であることがわかりました(タイムアウト前)
ログレベルを冗長に切り替えて、約 5 分間待機すると、次のエラーが発生しました。
SPA の最初のページが読み込まれ、データが初期化されるまでに平均 3 ~ 7 秒かかります... (ページが読み込まれていることを示すクロムが停止します)。タイムアウトは10秒に設定されているので、それを増やすことを考えました
しかし、それも役に立ちませんでした。私ができること/試すことができるアイデアはありますか?
もう一度明確にするために、ログイン ページは単純な静的なサーバー側でレンダリングされた HTML です。ユーザーがログインすると、Angular 1.4 に基づく SPA にリダイレクトされます。SPA にリダイレクトされず、ログイン ページに戻るため、間違った資格情報でログイン ボタンを押してもおそらく機能します。
すべてのテストは、Mac OS X El Capitan の chrome で実行されます。
アップデート:
今、それは一度働いた。その後、ウェブサイトをリロードすると、スクリプトが動かなくなった場合に備えて、スクリプトが実行され続けることに気付きました。
問題のページは次のように機能します。
/
ページがアクセスされ、角度が初期化されます- ui-router ルート
#/defaultroute
- コントローラが初期化され、いくつかの初期データがダウンロードされます
- 新しいコントローラーは内部で初期化され、
ng-repeat
さらに多くのデータをダウンロードします
ええ、かなりの量のデータがダウンロードされ、ページ全体が表示されるのを待っています。もしかしたら、それが Chimp.js や webdriver.io に問題を引き起こしているのでしょうか?
browser.click(...);
もちろん、 からへの切り替えもbrowser.key(['Enter']);
機能しません。スタックしてブラウザをリロードするという同じ問題が修正されます。silenium では、ページの読み込みが実際に完了していないようです。そのため、ページをリロードすると修正されます。それを修正する方法はありますか?
ところで、これに関する問題も開いています: https://github.com/xolvio/chimp/issues/165
更新 2:
Firefox と PhantomJS では動作しますが、Safari はまったく動作しません。
この時点で、既知のバグである場合、エラーがどこにあるかを知りたいだけかもしれません...