無制限の Cookie 拡張スキーム

著者: Jingdong Technology Liu Clean

1. ペインポイント (*)

自動テストには、インターフェイスの自動化と UI の自動化の 2 つの形式があります。ただし、UI の自動化は、認証コード、グラフィックス、スライダーなどのログイン ノードによってブロックされることがよくあります。グラフィックスを識別してスライダーの位置を特定する方法はいくつかありますが、成功率は高くなく、自動化の実行を真に実現することはできません。および http インターフェイス 自動化されたテスト フロントが Cookie に依存している場合、自動化することはできません。

a. ログインをバイパスし、フロントエンドからバックエンドへの自動実行を実現する方法

b. 複雑なログイン認証に直面して、Cookie を直接かつ自動的に取得することができず、手動でログインする必要があり、Cookie は時間に敏感で長期間使用できない

このソリューションは、上記の問題を効果的に解決し、複雑なログイン認証と Cookie エージング モードに直面して、短期 Cookie を長期有効 Cookie に変更し、Cookie 認証に依存する UI 自動化とインターフェース自動化を真に実現します。

2. クッキーとは何ですか?

Cookie はセッション トラッキング テクノロジと呼ばれ、ブラウザによってユーザーのマシンに保存される小さなテキスト ファイルです。Cookie はプレーン テキストであり、実行可能なコードはありません。サーバーが必要とするいくつかの情報を保存します。サイトがリクエストされるたびに、対応する Cookie が送信されます。これらの Cookie は、ユーザーの識別情報などを識別するために使用できます。

3.有効期限の見方

ブラウザーを開き、Cookie を表示したい Web サイトに移動します。

F12 を押して、ブラウザーの開発者ツールを開きます。

[開発者ツール] の [デバッグ ツール] タブで、[ストア] ボタンをクリックします。

左側の「サイト データ」リストで、「Cookie」をクリックします。

右側の [Values] リストで、各 Cookie の [Expires] または [Max-Age] フィールドを確認します。これらのフィールドには、Cookie の有効期限が表示されます。

4. クッキーの仕組み

クライアントはサーバーにリクエストを送信します--「サーバーは Set-Cookie のヘッダーを含む HttpResponse レスポンスをクライアントに送信します--」クライアントは Cookie を保存し、サーバーにリクエストを送信すると、HttpRequestリクエストにはCookieヘッダーが含まれます--「サーバーはレスポンスデータを返します

制限時間: 各 Cookie には制限時間があり、デフォルトの有効期間はセッション レベルです: ブラウザーを閉じると、Cookie はすぐに破棄されますが、保存時に Cookie の有効期限を手動で設定することもできます

5.無制限のCookie拡張スキーム(*)

5-1. 前提条件

a. ログイン ノードには、SMS 検証コード、グラフィック認識、スライダー、その他の検証などの検証メカニズムがあります。

b. Cookie には期限があり、期限が切れた場合は再度ログインする必要があります。

c. 複数のプラットフォームで同じアカウントがログアウトまたはログインしない

5-2. 実施方針

このソリューションは、自動呼び出し用のマイクロサービスを介してインターフェイスを提供し、アカウント番号を渡すことで永続的な Cookie を返し、この手順を自動化プロセスに組み込み、ログインして Cookie を取得するノードを置き換え、制限時間を永続的に延長します。これは、永続的なサイクルで後続の自動化プロセスの正常な実行を保証する適時性ではありません。

5-3. コアプロセスステップ

ステップ 1: 最初に手動でログインし、ヘッダーから Cookie を取得して、Cookie とエージング値をマイクロサービス プラットフォームに保存します (1 つのアカウントに手動でログインする必要があるのは 1 回だけで、その後のログイン操作は必要ありません)。

ステップ 2: マイクロサービス プラットフォームは、アカウント、Cookie、エージング値、および関連するビジネス インターフェイスを永続的に保存し、エージング値を追跡してポーリング期間を計算し、ポーリング タスクの実行をトリガーします.タスクは、この Cookie を呼び出して呼び出しますビジネス インターフェースは長いセッションを維持し、ホールド プロセスは待機します。ポーリング時間に達すると、タスクの実行が続行され、ホールド プロセスが再び待機し、ループが継続して Cookie のセッションが永続的に維持されるようにします。

ステップ 3: 自動化タスクが実行される前に、マイクロサービス インターフェイスが呼び出され、アカウントを通じて永続的な Cookie が取得され、この Cookie を使用してフォローアップの自動化タスクが実行されます。

6. 上陸事例

現在、以下の仕組みにより、Cookieを一度設定すれば長期間利用するという目的を実現しています。

実用効果比較

変更前: UI 自動化および HTTP インターフェイス自動化中に Cookie が期限切れになることが多く、自動化プラットフォームで手動で再ログインし、Cookie を更新する必要があり、面倒であり、早朝の自動実行の成功率に影響を与えていました。

現在: 上記のソリューションを使用した後は、Cookie マイクロサービス プラットフォームで Cookie を 1 回手動で構成するだけで済み、今後 Cookie を更新する必要はありません。

7. 特許の説明

https://zhuanli.tianyancha.com/811840799431036187d34680d5b10ae3

{{o.name}}
{{m.name}}

おすすめ

転載: my.oschina.net/u/4090830/blog/8591413