問題タブ [browser-automation]
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.
ajax - AJAXWebUIを自動的にテストするときに遅延を使用する代わりの方法
私はまもなく、Webサービス(WCF)から生成された多くのコンテンツを含むAJAX駆動型のWebページに取り組んでいます。
私は過去にこの種のことをテストしましたが(そしてそれは簡単であることがわかりました)、このレベルの動的コンテンツではテストしませんでした。
Visual Studio2008を使用して.NET3.5で開発しています。このテストは、次の場所で行うことを想定しています。
- TestDriven.NET
- MBUnit(これはユニットテストではありませんが)
- ブラウザを制御するためのある種の自動化ツール(おそらくSeleniumですが、SWEAまたはWatinかもしれません。IE、Firefox、そしておそらくOperaとSafariを考えています)。
以前は、ブラウザをテストするときに遅延を使用していました。私はそれをするのが特に好きではなく、それは時間を無駄にします。
待機を使用するよりも、物事をより良く行うためにどのような経験と実践がありますか。たぶん、テストを実行するためのコールバックとプログラミングの機能的なスタイルを導入しますか?
注1.最初の3つの返信を確認した後の詳細。
1)Alan、Eran、marxidadに感謝します。あなたの返事は、うまくいけばあまり時間をかけずに、私の答えを得る道に私を導いてくれました。
2)もう1つの詳細は、jQueryを使用してAjaxを実行しているため、これはAsp.NETAJAXに組み込まれていません。
3)状況をうまく説明している記事を見つけました。http://adamesterline.com/2007/04/23/watin-watir-and-selenium-reviewed/からです
3.1) Seleniumサンプル(これと次のWatiNのコードサンプルは元のWebページ(IEまたはFirefoxのいずれか)に表示されないため、それらを抽出してここにリストしました。)
3.2) WatiNサンプル
3.3)これらの、明らかに同等のサンプルを見ると、WatiNサンプルが待機を抽象化していることがわかります。
3.4)ただし、 http: //watinandmore.blogspot.com/2008/01/using-watin-to-test-select-lists-in.htmlに記載されているように、WatiNはAjax呼び出しによって変更された値の追加サポートを必要とする場合があります。その記事では、次のように、変更されたイベントを合成するために使用できる追加のフィールドがページに与えられています。
4)私が求めているのは、合成されたイベントを使用せずに、WatiNコードに表示されるようなことを行う方法です。これは、変更されたイベントなどのイベントに直接フックする方法である可能性があります。テストのコーディング方法が変わる可能性はありますが、コールバックにも問題はありません。また、C#3、VB 9、およびF#の新機能の影響が浸透し始めたときに、テストを作成する別の方法が見られると思います(そして、それを探索してもかまいません)。
5)marxidad、私のソースにはWebAiiからのサンプルがなかったので、この興味深い見た目のツールについてコメントはありません。
注2.2008-09-29。このページから独立したフィードバックの後。
5)上記のWatiNサンプルコードのより完全なソースを取得しようとしました。残念ながら、それはもう利用できません、リンクは死んでいます。そうしていると、おそらくWebページと自動化ツールの間でマッピングされるモデルであるDSLの話に気づきました。詳細はわかりませんでした。
6)WebAiiの場合、次のようなコード(テストされていません)を使用することが提案されました。
6)コードから、いくつかのフレームワークで待機と遅延を明確に回避できますが、WatiNが自分に適しているかどうかを確認するためにより多くの時間を費やす必要があります。
.net - 単体テスト (セットアップと破棄を含む) のために .NET で Web プロキシを自動化するにはどうすればよいですか?
私の前の質問に対する彼のコメントでのジョナサン・ホランドの提案に従ってください: Is there any way in .NET to programmatically listen to HTTP traffic? 本当に知りたいことについて、別の(ただし正確には重複していない)質問を作成しました。
ブラウザーからの HTTP トラフィック (特に、要求されたページの画像、スクリプト、および XmlHttpRequests) をスパイするための単体テスト (セットアップと破棄を含む) のために、.NET で Web プロキシを自動化するにはどうすればよいですか?
いわば、アセンブリからすべてをアンパックし、デプロイしてから、跡形もなく削除できるゼロ セットアップ (つまり、Windows に Fiddler がインストールされていない) を好むのです。
internet-explorer - ブラウザで開く代わりにファイルタイプをダウンロードするように IE7 を設定するにはどうすればよいですか
ファイルをダウンロードするwatirスクリプトを作成しました。ダウンロードするファイルの 1 つに .dcf 拡張子が付いています。数か月前、私のマシンの設定をどこかで変更して、.dcf ファイルをブラウザで開くのではなく、ダウンロードを求めるプロンプト (「このファイルを開くか保存しますか?」) を求めました。これは私が望む動作です。XP Pro/IE7を使用しています。
専用のテスト マシンをセットアップしていますが、自分のマシンで行った構成オプションが見つからないようです。私が現在見つけている解決策はすべて、ダウンロード自体を変更するか、レジストリを変更することです。ブラウザ/IE レベルでクライアントの観点から何かを探しています。
firefox - OS X でスクリプトから Firefox をリモート制御する方法
一部の Web サイトにアクセスするスクリプトを作成する必要があります。コマンドラインからのスクリプトは、いくつかのページを取得し、いくつかのフォームを投稿し、いくつかの情報をスクリーン スクレイピングします。
libwww-perlのようなライブラリ「ブラウザ」にはなり得ません。これは、一部の手順でユーザーの操作が必要になる場合があるためです ( CAPTCHA、Ajax専用フォーム、操作のサプライズなど)。
私が考えることができる最も実用的な方法は、リモートで Firefox のタブを開き、そこに JavaScript コードを挿入することです。これは、GreasemonkeyとSeleniumが行うことと少し似ています。必ずしも Firefox 用である必要はなく、簡単であれば別のブラウザーでもかまいません。
それで、それを行うための最良の方法は何ですか?
python - Pythonを使用してブラウジングを自動化する方法は?
たとえば、特定のWebサイトで一連の手順を実行し、いくつかのフォームに入力し、[送信]ボタンをクリックして、データをサーバーに送り返し、応答を受信し、応答に基づいて何かを実行して、データをサーバーに送り返す必要があるとします。ウェブサイトの。Pythonにwebbrowserモジュールがあることは知っていますが、Webブラウザーを呼び出さずにこれを実行したいと思います。純粋なスクリプトである必要があります。
Pythonで利用できるモジュールはありますか?それは私がそれを行うのに役立ちますか?
ありがとう
testing - Java の自動 Web テスト ツール
Ajax ベースの Web アプリケーションをテストしたいと考えています。Java でテスト スクリプトを記述し、Web ブラウザーをシミュレートしたいと考えています。
Web アプリケーションで jQuery のような非常に高度な Ajax ライブラリを使用しているため、Web ブラウザーのシミュレーションは非常に重要です。
どのように進めるべきかについてのアイデアはありますか?
c# - Internet ExplorerはSocksプロキシをプログラムで使用できますか?
C#コードでInternetExplorerのSocks5プロキシを使用したい。httpプロキシのコードがありますが、そのコードはSocksプロキシでは機能しません。
誰かがそのようなコードを持っていますか?いくつかのポインタを提供してください。
私は基本的にC#でIEの自動化を行っており、IEを使用してsocksプロキシを使用するためのコードが必要です。
python - Python に最適なブラウザ自動化ツールは何ですか?
次のスクリプトを書きたいと思います: 特定のサイトで実行されるアクションのリストを含むテキスト ファイルが与えられた場合、いくつかのブラウザー (おそらく IE、他の駆動可能なものについては何も知らないため) を使用します。CSS レンダリングとサイトでこれらのアクションを実行しているユーザーを模倣する JS 実行機能。
だから私はこのページとその「ウェブテスト」セクションを見つけました、そしてそれはリストします:
- パミー
- PYXPCOM
- 風車
- セレン
後者の 2 つは、ローカルホストである種のサーバーを実行します (これは適切な決定ではないようです)。
Pamie には、2006 年に最後に更新されたサイトに史上最悪のドキュメントと多くの「建設中」ページがあります。
また、PyXPCOM は FF 用に作成されたものではないようです。私は下手な Google 社員かもしれませんが、FF を使用するような目的で PyXPCOM を使用する適切な例はまだ見つかりませんでした。
私の目的のために、ブラウザーをどのように誘導することをお勧めしますか? また、その理由は何ですか? ティア
更新:
ページに JavaScript をレンダリングできるようにする必要があります。サーバーベースのライブラリを使用することは、一度に 1 つのブラウザー インスタンスに制限されているため、良い解決策ではないと思います。たとえば、2 つのブラウザー インスタンスを 2 つの異なるプロキシに設定することはできません。 2 サーバー (これは正しいですか?)。