問題タブ [http-unit]
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.
eclipse - httpunit の例外
私はGoogleの公式WebサイトにアクセスしようとしているHttpUnitコードを持っています.Hereは私のコードです:
/** 開始に必要なものはすべて com.meterware.httpunit パッケージにあります **/ import com.meterware.httpunit.*;
/** これは、HttpUnit を使用して Web ページを読み取って理解する簡単な例です。**/ public class 例 {
}
コードの実行時に以下の例外が発生します。Eclipse を IDE として使用しています。
org.mozilla.javascript.EcmaError: TypeError: Cannot read property "className" from undefined (httpunit#3) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3229) at org.mozilla.javascript.ScriptRuntime.constructError (ScriptRuntime.java:3219) org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3235) で org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3254) で org.mozilla.javascript.ScriptRuntime. undefReadError(ScriptRuntime.java:3267) で org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1324) で org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:2816) で script(httpunit:3) でorg.mozilla.javascript.Interpreter.interpret(Interpreter.java:2251) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:161) で org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:340) で org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2758) で org.mozilla.javascript.InterpretedFunction org.mozilla.javascript.Context.evaluateString(Context.java:1132) の .exec(InterpretedFunction.java:172) httpunit.scripting.ScriptableDelegate.runScript(ScriptableDelegate.java:88) com.meterware.httpunit.parsing.NekoDOMParser.runScript(NekoDOMParser.java:151) com.meterware.httpunit.parsing.ScriptFilter.getTranslatedScript(ScriptFilter.java: 150) com.meterware.httpunit.parsing.ScriptFilter.endElement(ScriptFilter.java:131) で org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:249) org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:367) org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1015) org.cyberneko .html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:888) org.cyberneko.html.HTMLScanner$SpecialScanner.scan(HTMLScanner.java:2831) org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:809) org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:478) at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:431) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.DOMParser.parse(不明なソース) com.meterware.httpunit.parsing.NekoHTMLParser.parse(NekoHTMLParser.java:48) com.meterware.httpunit で。HTMLPage.parse(HTMLPage.java:271) com.meterware.httpunit.WebResponse.getReceivedPage(WebResponse.java:1301) com.meterware.httpunit.WebResponse.getFrames(WebResponse.java:1285) com.meterware.httpunit .WebResponse.getFrameRequests(WebResponse.java:1024) com.meterware.httpunit.FrameHolder.updateFrames(FrameHolder.java:179) com.meterware.httpunit.WebWindow.updateFrameContents(WebWindow.java:315) com.meterware. httpunit.WebClient.updateFrameContents(WebClient.java:526) com.meterware.httpunit.WebWindow.updateWindow(WebWindow.java:201) com.meterware.httpunit.WebWindow.getSubframeResponse(WebWindow.java:183) com.meterware .httpunit.WebWindow.getResponse(WebWindow.java:158) で com.meterware.httpunit.WebClient.getResponse(WebClient.java:122) で Example.main(Example.java:14) 例外: com.meterware.httpunit.ScriptException: Script '//3pas のパフォーマンス ビーコンに使用される rtTop = Number(new Date());
OnloadCache.enable();
どんな助けでも大歓迎です.Thanks.enter code here
submit - HTMLUnit のフォーム コンテキストを使用したフォーム送信
古い HTTPUnit コードを HTMLUnit に変換するプロジェクトがあります。私が遭遇した問題の 1 つは、HTTPUnit の form.submit() オプションです。form.submit は、以前にフォーム変数を初期化するときに正しいフォームを選択していれば、その特定のフォームの送信ボタンを特に見つける必要なく機能します。 .
私が使用できる HTMLUnit に似たものはありますか?
私が求めていることの重要性を説明するために、ショッピング サイトをいくつかのフォーム (異なる製品用) でテストしています。各フォームには、それらを分離するための特定の属性を持たない独自のフォーム ボタンがあります。すべてのフォームは独自の異なる構造を持っているため、xpath を使用して送信ボタンを見つけるのは少し困難です。
具体的に私が求めているのは、特定の送信ボタンではなく、フォーム自体に基づいてフォームを送信できる HTMLUnit の方法はありますか? 上記の状況が与えられていない場合、誰かが回避策を提案できますか?
前もって感謝します。
java - HttpUnit でセッションを処理する方法
セッションを処理するために HttpClient を使用しています。httpclient を使用してセッションを処理するコードを次に示します。しかし、httpclient は ajax 呼び出しを処理しません。問題を解決するために httpunit に移行する予定です。基本的に、Cookie とセッションを取得してクライアントに保存する必要がある参照 URL (または認証サーバー) があります。また、このクライアントを Web サイト全体で使用して、ログに記録されたユーザー情報を取得します。httpunit を使用した場合の適切な解決策は何ですか。credentialsURL="https://www.,,,,.com./sapLogin.aspx?HOOK_URL=https://authentication.server.address&username=&password= ";
java - Tomcat がブロックして応答しない
Tomcat サーバーがあり、それに対して junitperf を使用してパフォーマンス テストを実行しています。
毎回 20 の同時リクエストを作成します。
OK、ここに問題があります。時々、非常に速く返され、20 個のリクエストすべてが 3 秒以内に応答されます。しかし、それ以外の場合は、永久にブロックされ、決して終了しないように見えます (実際、これらの要求のうち約 18、19 が終了しますが、残りの 1 または 2 は永久にブロックされました)。
問題をデバッグしようとした方法は次のとおりです。
クライアント側で:
サーバー側では、サーブレット関数の最初の行で、次のようにしています。
これで、ブロックすると、クライアント側で 20 の「Before calling」と 18,19 の「Called ...」が表示されます。サーバー側でも、18,19 の「Enter Servlet」ログのみが表示されます。
問題は、クライアントがすでにリクエストを送信していることですが、Tomcat サーバーがそれらに応答しておらず、サーブレット関数が呼び出されていないことだと思います。
一方、ログを確認したところ、ブロックされている理由については何も見つかりませんでした。エラー情報も例外も何もありません。
誰かがこれで私を助けることができますか?
編集#2:
完全なスレッド ダンプは次のとおりです。
java - クラスが JFrame を拡張するときに httpunit が機能しない
ライブラリでログインしようとするhttps://www.okcupid.com/login
と、httpunit
以下のコードが正常に実行されます。
JFrame
ただし、 UI を構築できるようにクラスを拡張すると、実行は失敗します。リクエストはPOST
正常に完了しますが、GET
実行時にリクエストが失敗しますHtmlPage page = wc.getPage(url)
コードの下に、両方のシナリオの出力を入れました。
メインが JFrame を拡張しない限り動作します
Main が JFrame を拡張するときの出力
Main が JFrame を拡張しない場合の出力
eclipse - Eclipse で見つからない HttpUnit インポート
HttpUnit を使い始めようとしています。簡単な例で Eclipse プロジェクトを作成しましたが、未解決の依存関係と見つからないインポートが無限に続くようです。だから私は最初からやり直しています:
このチュートリアルを機能させたいだけです:http://www.httpunit.org/doc/tutorial/
私のjarsフォルダーには以下が含まれています:
私の .classpath ファイルには次のように書かれています:
次のインポートを解決できないのはなぜですか?
ありがとう
java - HttpUnit - getTextBlocks の使用方法
http ユニットを使用して Web ページ内のすべてのテキストにアクセスする方法を知りたいです。私が抱えている問題は、 ..タグgetTextBlocks
のテキストのみを返すように見えることです。以下の HTML フラグメントに含まれる「Support LS」というテキストを見つけたいと思います。短い質問で申し訳ありませんが、グーグルで検索しても有用な一致があまり返されません。各テキストブロックには- メソッドがあるように見えるので、テキストブロックを再帰的に下降する必要があるかどうか疑問に思います。h1
h6
httpunit getTextBlocks
getTextBlocks