この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 177007|答える: 27

[出典] .Net/C# Seleniumの自動テストはクッキー値を取得します

[リンクをコピー]
掲載地 2020/07/05 11:44:34 | | | |
需要

ログインのシミュレーション要求が複雑すぎるため、Seleniumを使ってログイン後にGoogle Chromeを開き、クッキーの内容を保存してウェブサイトの該当インターフェースにリクエストしてテストを自動化したいと考えています。

セレン

Seleniumはウェブアプリケーションテスト用のツールです。 Seleniumテストは、まるで実際のユーザーが行っているかのようにブラウザ上で直接実行されます。 対応ブラウザにはIE(7、8、9、10、11)、Mozilla Firefox、Safari、Google Chrome、Operaなどがあります。 このツールの主な機能は以下の通りです:ブラウザ互換性テスト - アプリケーションが異なるブラウザやOSでうまく動作するかをテストします。 システム機能テスト – ソフトウェアの機能とユーザー要件を確認するための回帰テストを作成する。 .Net、Java、Perlなど異なる言語でのアクションの自動記録やテストスクリプトの自動生成をサポートしています。

まず、プロジェクト名「chrome-cookie-demo」で新しいC#コンソールプロジェクトを作成し、.NETフレームワークのバージョンは4.7.2です。

nugetコマンドは以下の通りです:

Selenium.WebDriver.ChromeDriverのインストール後、プロジェクトのデバッグディレクトリにchromedriver.exeファイルが生成されます。
Selenium.WebDriverは抽象的なインターフェースとして理解されており、各ブラウザがこのインターフェースをそれぞれ実装します。Selenium.WebDriverはSelenium.WebDriver.ChromeDriver(chromedriver.exe)を呼び出しchromedriver.exe、取得したパラメータに従ってネイティブインストールのGoogle Chromeを起動し、対応する操作を実行します。

もちろん、前提条件があります。そのパソコンにはGoogle Chromeがインストールされている必要があります

コードは以下の通りです:

誤差は以下の通りです:


System.InvalidOperationException: session not created: This version of ChromeDriver only supports Chrome version 83



つまり、現在のドライバーはGoogle Chromeのバージョン83をサポートしていないため、インストールされているバージョンを以下のように確認してください。


(バージョン 71.0.3578.98)

ネイティブのGoogle Chromeをアップグレードして再起動すれば直ります(または要件を満たすブラウザ版をインストールするか)。

Chrome-cookie-demoプロジェクトを再実行しようとすると、通常通りサイトを開けることがわかりましたが、ウェブページはログインされていません。 このサイトを開くためにブラウザをクリックすると、ステータスはログインされています。

解決策は、以下のコードでユーザー-データ-dirパラメータを設定することです:

プログラムを再起動すると、以下のエラーが出ます:

Unhandled exception: OpenQA.Selenium.WebDriverException: 無効な引数: user data directoryがすでに使用中です。--user-data-dir 引数に一意値を指定してください、または使わないでください -- ユーザー-データ-dir
   OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parameters)
   In OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   In OpenQA.Selenium.Remote.RemoteWebDriver: ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
   OpenQA.Selenium.Chrome.ChromeDriverでは: ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)
   OpenQA.Selenium.Chrome.ChromeDriverでは: ctor(ChromeDriverService service, ChromeOptions options)
   chrome_cookie_demo。 Program.Main(String[] args) 位置 C:\Users\itsvse_pc\source\repos\chrome-cookie-demo\chrome-cookie-demo\Program.cs: 行番号36

大まかに言うと、フォルダが占有されているので、交換してください。解決策は以下の通りです:開いているGoogle Chromeを閉じて、私たちが書いた「chrome-cookie-demo」プログラムのユーザーデータフォルダを使ってください

ウェブクッキーを入手しましょう

driver.manage().getCookies();   すべてのクッキーのリストを返却
driver.manage().getCookieNamed(arg0);  名前ごとに特定のクッキーを返す
driver.manage().addCookie(arg0);   クッキーを作成して追加してください
driver.manage().deleteCookie(arg0);  特定のクッキーを削除してください
driver.manage().deleteCookieNamed(arg0); 名前に従って特定のクッキーを削除してください
driver.manage().deleteAllCookies();  すべてのクッキーを削除してください

ドキュメンテーション:ハイパーリンクのログインが見えます。

すべてのウェブクッキーを取得するテストをしています

ディスカバリー、「HttpOnly」のクッキー情報はご覧いただけます、下図に示されているように:



もちろん、クッキー情報を文字列に変換し、リクエスト送信インターフェースをシミュレートし、ソースコード内の文字列に変換する方法を付ける必要があります。

ソースコードダウンロード:

ハイパーリンクのログインが見えます。

(終わり)

スコア

参加者数1MB+1 貢献する+1 倒れる 理由
JGSキングストーン + 1 + 1 とても強力です!

すべての評価を見る





先の:EF(CodeFirst) + MySQL
次に:MSSQL条件付きクエリWHEREは条件を無視します
掲載地 2022/05/14 10:22:54 |
プロンプト:著者はBANされたり削除されたりすると、コンテンツは自動的にブロックされます
掲載地 2022/05/14 10:21:26 |
プロンプト:著者はBANされたり削除されたりすると、コンテンツは自動的にブロックされます
掲載地 2021/11/27 17:31:04 |

.NETのSeleniumシミュレーションは相変わらず素晴らしいです、ありがとうございます。
掲載地 2020/07/05 12:46:59 |
良さそうです
掲載地 2020/08/18 10:45:14 |
学び。 一生懸命勉強している。
掲載地 2020/10/10 17:34:08 |
学びに来てください、ありがとうございます
掲載地 2020/10/28 17:26:20 |
非常にいいです。  
掲載地 2020/11/03 0:20:29 |
ありがとう~~学びましょう~~~~~~~~
掲載地 2020/11/26 21:26:44 |
共有してくれてありがとう、LZ
掲載地 2021/01/24 3:02:19 |
なぜ返信しないと見られないの?
掲載地 2021/03/06 20:49:30 |
1111111111111111
掲載地 2021/05/02 20:12:35 |
学び。 一生懸命勉強している。
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com