問題タブ [casperjs]
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.
phantomjs - Casper.js を使用して HTTP から HTTPS へのトンネリングをテストする方法は?
会社のエクストラネットのいくつかでテスト カバレッジを取得する必要があります。残りのテスト ワークフローと統合するのが最も簡単だったので、phantom.js/casper.js を使用しています。
この問題は、トンネリングを介して HTTP から HTTPS に移行しようとすると発生します。ユーザーが http://www.somecompany.com の Web サイトにアクセスしてログイン リンクをクリックすると、ブラウザは https://extranet.somecompany.com にリダイレクトされます。HTML ソースを見ると、ユーザーがリダイレクトされたフォームに正しく対応する HTML が表示されます。
ただし、casper.js でワークフローを再作成しようとすると、ログイン リンクでクリック イベントが正常に開始されます。次に、リダイレクトが成功したことを確認するためにフォーム要素を特定しようとしましたが、このテストは失敗しました。次に、リダイレクト後の次のステップを変更して、ページのキャプチャを行い、キャスパーが「見ている」ものを確認しました。画像を開くと、リダイレクトされたことがないかのように HTML が表示されます。ポート 443 へのトンネルが確立されていることを示す Fiddler のトラフィックが表示されるため、リダイレクトが機能していることがわかります。
SO、Google、および Casper Google グループを検索しましたが、HTTP から HTTPS へのリダイレクトに関してはあまり見つかりません。Casper/Phantom はこのようなワークフローを自動化できますか、それとも Selenium のようなものを見る必要がありますか?
javascript - PhantomJS/CasperJS サイトのログイン、Cookie は PhantomJS によって受け入れられません
最近、Cookie の受け入れを強制する Web サイトにログインしようとしました。私はphantomJsとcasperJsを使用しています。ログインを処理する小さなスクリプトを書きましたが、Cookie を受け入れる必要があることを示すサイトにリダイレクトされます。メールアドレスとパスワードは単なるプレースホルダーです。
ログインしたいサイトは ですhttps://de.buyvip.com/
。Anmelden mit Amazon
しかし、Amazon アカウントでログインするには、ボタンをクリックする必要があります。他のログイン フォームは機能しません。(それはこの長いURLにつながります。ブラウザからコピーしただけです)
誰かが私を助けることができますか?
スクリプトは次のとおりです。
django - Jenkins から casperjs javascript テストを実行するにはどうすればよいですか?
Django アプリケーションをテストするためにいくつかの casperjs テストを作成しました。Django アプリケーションが (たとえば、ポート 8000 で) 開始されている場合、casperjs を別のプロセスとして実行し、実行中の Django アプリにアクセスできます。
私の他のテストは、フィクスチャを使用してテスト データベースをセットアップする Django の (Web) テスト フレームワークで作成され、./manage.py test
. Django Webtest を使用すると、別個の Django Web サーバーを開始する必要はありません (要求を実行し、URL ルーティングはプロキシ/シミュレートされます)。
Django webtest 内から casperjs テストを実行する方法はありますか? 別の Web サーバーを起動せずに、さらに別のテスト データベースを使用しませんか?
ghost.py が存在するのを見たことがありますが、まだ試していません。
node.js - Spooky.js を使用したサンプル コードの実行中にエラーが発生しました
node.js
、phantom.js
、casper.js
およびのスタック全体が初めてですspooky.js
。すべてを (Windows に) インストールし、PATH を更新して、次の例に従いました。
https://github.com/WaterfallEngineering/SpookyJS
このエラーが発生しました:
誰もがそれを修正する理由と方法の手がかりを持っていますか? 私は元気に走りcasperjs googlelinks.js
ます。しかし、node.js
とspooky.js
、それは私に問題を引き起こしました。
javascript - phantomjscasperjsの実行中の手動入力
次のステップに進む前に、スクリプト(phantomjsまたはcasperjs)を手動の人間入力(キーボード入力)のために停止させることは可能ですか?
たとえば、スクリプトはフォームに入力し、画面全体を.pngとしてエクスポートし、ユーザー入力が最後のフィールドに入力されるのを待ってから[送信]をクリックします。キャプチャは、これに必要な障壁の1つです。キャプチャブレーカー/ソルバーなどは、実行ごとに1回だけなので、扱いたくありません。
何か助けはありますか?
javascript - node.jsまたはcasper.jsの可変スコープ
この質問をするのはばかげていると思います。しかし、以下の変数スコープに厄介な問題がありaaa
ます。test
最後に出力してはいけませんか?しかし、そうではありませんでした。aaa
関数内で使用するのに何を間違えましたか?
javascript - console.logが無効になっている場合はcasper.jsにログインします
次のコードを使用すると、 Twitter.comが無効になっているため(空の関数)、文字列casper.js
が出力されません。This is thenEvaluate
console.log
URLをgoogle.comまたは他のWebサイトに交換すると、機能します。私の質問は:
無効になっているWebサイトの場合、再度有効
console.log
にする方法はありますか?evaluate()
#1がNOの場合、またはthenEvaluate()
関数内で何らかのログを実行する方法はありますか?
ありがとう。
javascript - casper.js の setInterval と this.wait
各反復の間に 3 回 2 秒のループを作成する必要があります。私はこれらの3つのオプションを試しました:
オプション1
観察setInterval
: 最初のスクリプトが呼び出される前にスクリプトが終了したため、何も表示されませんでした。
オプション 2
以下thenEvaluate()
に差し替えthen()
観察: すぐに 3 回出力し、this.wait()
非同期であるため長時間待機します。間に遅延が必要なので、これは私が望んでいるものではありません。
オプション 3以下
の部品をこれに置き換えthen()
ます。waitFunc()
呼び出されるたびに再帰呼び出しを行うことを考えていましたwait()
。
観察: 画面に何も出力されません。
だから私の質問は: this.wait または setInterval をこの場合のように 3 回のループで動作させるにはどうすればよいですか?
javascript - Casperjs で localstorage をクリアする
localstorage を使用して backbonejs アプリケーションのテストを行うために casperjs を使用しています。
私の問題は、casperjs でテストするときに localstorage をクリアできないことです。
localStorage.clear();
casper ファイルの先頭で使用しようとしましたが、何もクリアされません。
javascript - CasperJS から直接 JS メソッドを呼び出す
CasperJS を使用してページをテストしようとしています。特に、データ モデルをたくさん突っ込みたいです。税金という基本的な関数があり、正しい税率が使用されるようにしたいとします。だから私は次のようなものが欲しいです:
フォームに記入して何が印刷されるかを見るのではなく。そのtaxes
メソッドはグローバル スコープに存在するため、どこからでも簡単に実行できます (firebug や Chrome のコンソールからも実行できます)。しかし、それがCasperJS内で機能するのは適切な範囲ではありません(私は思う?私はReferenceError: Can't find variable: taxes
.
シンプルなものが欠けているようです。
TL;DR: CasperJS テスト内で直接 JS のページ上のビットを実行するにはどうすればよいですか?