Appium+Python自動化(その33) - ローカルデバッグテストコード、リモート制御テスト環境 - リモート(超詳しい解説)

序章

アプリの起動時に、driver =webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)というコード行がありますが、多くの友人や学生はこの IP とポートを知りません。から来たので、友達に説明する必要があると思い、このappiumのサーバーIPについて記事を書くことにしました!あなたの疑問に答え、疑問を解決しに来てください!こうすることで、ジョークを読んだ後に素朴な質問をしたり、他の人を大笑いさせたりすることがなくなります。例: テスト サーバー上にテスト環境をセットアップしたため、テスト サーバー上でのみコードをデバッグしてからテストできます。このように、スクリプトを書かない環境を構築する必要があります。愚かな未亡人、リモート の質問を待っています。まず彼に会いましょう。そうすれば、それが何を意味するかがわかります。リモート。次に、その IP アドレスをテスト サーバーの IP に変更すれば、すべての問題は解決します。

目的

  一般に、appium のデフォルト アドレス 127.0.0.1 を変更する必要はありません。自動化の過程で、遠隔操作が必要な場合にこの機能が役立ちます。考えてみてください。自動テストを実行するために会社が別のコンピュータを設定し、その後、あなた自身の作業用コンピュータでスクリプトを作成し、そのスクリプトを自動マシン上で実行することで、作業が自動化され、正確になるとしたら、そう思いませんか?素晴らしい? 

説明する

127.0.0.1

127.0.0.1 は、ローカル TCP/IP プロトコル スタックをテストするために使用されるループバック (ループバック) アドレスです。たとえば、cmd: ping 127.0.0.1: と入力します。

表示されるのは、ローカル マシンにリクエスト パケットを送信することです。このリクエストはローカルでのみ実行され、ネットワーク経由で送信されることはありません。

 「Local」、localhost を思い浮かべたはずです。hosts ファイルを開きます (右クリックして notepad++ で開きます)。

見られます:

はい、127.0.0.1 と localhost は「同等」です。

localhost はドメイン名であり、本質的には「www.baidu.com」に似ています。(ソケットを直接バインドすることはできません。最初に gethostbyname を行う必要があります) IP にバインドするには - 括弧内の単語がよくわかりません。つまり、ローカルホストのデフォルトの IP は 127.0.0.1 です。

アドレスに 127.0.0.1 を書き込むことは、ローカルにアクセスすることを意味します。

アドレスを localhost として直接書き込みますが、これも調整できます。

ポート番号: 4723

この値は固定されていません。唯一の要件は、競合しないことです。現在占有されているポート番号を cmd で確認でき、次のコマンドを入力します。

netstat -ano はすべてのポートの使用状況を表示します。

netstat -ano | findstr "4723" どのプログラムがポート 4723 を占有しているかを確認します

最初の人は、appium がオンになっていなかったため、プログラムを表示できませんでした。

appium を起動して 2 回目のチェックアウトを行う

appium も開きます。

ここでポート番号を変更できますが、ここでポート番号を変更するには、コード内のポート番号をそれに応じて変更する必要があります。

/wd/ハブ

マウスをリモコン の上に置いて上に置き、Ctrl キーを押しながらマウスの左ボタンをクリックしてソース コードを入力します。ソース コードを見てみましょう。

WebDriver クラスは初期化時にアドレスも定義していることがわかりますが、ポート番号が異なり、その他は渡したものと同じです。したがって、/wd/hub を原則として理解することができます。

IPを設定する 

1. appium>一般設定インターフェイスを開きます

2. ここでは、appium のデフォルトのサーバー アドレス 127.0.0.1 ポート 4723 を使用します。通常は変更せずに自分のマシンでデバッグします。

住所

1. コード内のアドレスはどこを指していますか?

appium サービスを開始した後、ブラウザに http://127.0.0.1:4723/wd/hub と入力します。以下の図のように表示され、サービスが正常に開始され、appium がサーバーとして認識されることがわかります。

2.appiumバックグラウンドアクセスログ

テストマシンを構成する

1. 1 台の稼働コンピュータと 1 台の自動テスト実行コンピュータ。稼働コンピュータを使用して自動テスト コンピュータをリモート制御するにはどうすればよいですか?

2. テスト コンピュータの appium サービス アドレスを、192.168.1.1 などのローカル IP アドレスに変更します (注意してください、注意してください!!! これがローカル IP アドレスの場合)

3. テスト コンピューターで appium を起動します。(ログ開始アドレス 192.0.0.1、ポート 4723 が確認できます)

遠隔操作

1. 職場のコンピュータでブラウザを開き、「192.168.1.1:4723/wd/hub」と入力します。この手順は非常に重要です。必ず次のインターフェイスを表示して、リモート リンクが成功したことを確認してください。

 2. スクリプト内のコード内のアドレスを変更します。

3. テスト マシンの環境が準備できたら、このマシンでスクリプトを実行すると、テスト マシンが自動的に実行されます。 

まとめ

1. まず、localhost はドメイン名で、以前は IP アドレス 127.0.0.1 を指していました。オペレーティング システムが ipv6 をサポートすると、ipv6 アドレス [::1] もポイントします。Windows
では、このドメイン名はホスト ファイル(c:\windows\system32\drivers\etc\hosts) (etc/ hosts)から事前に定義されます。 #
localhost の名前解決は DNS 自体内で処理されます
# 127.0.0.1 localhost
# ::1 localhost
Linux では、その定義は /etc/hosts にあります:
127.0.0.1 localhost
この値はオプションであることに注意してくださいたとえば、これを
192.068.206.1 localhostに変更して
から localhost に ping を実行すると、プロンプトは
PING localhost (192.168.206.1) 56(84) bytes of dataになります

———分割線 — localhost について説明した後、127.0.0.1 について説明します———
127.0.0.1 このアドレスは通常、ループバック インターフェイスに割り当てられます。ループバックは特別なネットワーク インターフェイス (仮想ネットワーク カードとして理解できます) であり、このマシン内のさまざまなアプリケーション間のネットワーク対話に使用されます。オペレーティング システムのネットワーク コンポーネントが正常である限り、ループバックは機能します。このインターフェイスは Windows では見ることができず、Linux ではこのインターフェイスは lo と呼ばれます:
#ifconfig
eth0 リンク encap:イーサネット hwaddr 00:00:00:00:00:00
inet addr:192.168.0.1 Bcase:192.168.0.255 マスク:255.255.255.0
......
lo リンク encap:ローカル ループバック
inetaddr:127.0.0.1 Mask: 255.0.0.0
……
loインターフェースのアドレスが127.0.0.1であることがわかります。実際、127.* ネットワーク セグメント全体を使用でき、たとえば 127.0.0.2 に ping を送信することもできます。ただし、次のように127.0.0.1 をループバック インターフェイスのデフォルト アドレスとして使用するのは単なる慣例
です。 #ifconfig lo 192.168.128.1 #ping localhost #おっと、ping できません#ping 192.128.128.1 #Can be Connected #ifconfig lo lo Link encap:Local Loopback inetaddr: 192.168.128.1 Mask: 255.255.255.0 ……もちろん、ほとんどの人は私のようなわけではありません。これらの設定を何気なく変更すると、127.0.0.1 のみを認識する多くのソフトウェアがハングアップする可能性があります。———区切り線——127.0.0.1の話が終わったら、このマシンのアドレスについて話しましょう————









正確に言えば、「ローカル アドレス」は標準的な用語ではありません。通常、これは「ローカルの物理ネットワーク カードにバインドされたネットワーク プロトコル アドレス」を指します。現在の一般的なネットワーク プロトコルは IPV4 のみであるため、IPX/Apple Tak は消滅し、IPV6 も普及していないため、通常は IP アドレスまたは ipv4 アドレスのみを指します。通常の状況では、127.0.0.1 はローカル マシンのアドレスとは見なされません。指定する必要がなく、誰もがそれを知っているためです。
ローカル マシン アドレスは、特定のネットワーク インターフェイスにバインドされます。たとえば、イーサネット カード、ワイヤレス ネットワーク カード、または PPP/PPPoE ダイヤルアップ ネットワークの仮想ネットワーク カードが正常に動作するには、アドレスにバインドされている必要があります。そうしないと、他のデバイスはそのアドレスにアクセスする方法を認識できなくなります。

———最後に違いをまとめると———

  • localhost はアドレスではなくドメイン名です。任意の IP アドレスとして構成できますが、通常は 127.0.0.1(ipv4) および [::1](ipv6) を指します。
  • 通常、127.* セグメント全体がループバック ネットワーク インターフェイスのデフォルト アドレスとして使用され、慣例により 127.0.0.1 に設定されます。このアドレスには他のコンピュータからはアクセスできません。基本的に TCP/IP プロトコル スタックを備えたすべてのデバイスには localhost/127.0.0.1 があるため、アクセスしたくても自分自身にアクセスすることになります。
  • ローカル アドレスは通常、他のデバイスからアクセスできる物理または仮想ネットワーク インターフェイスにバインドされた IP アドレスを指します。
  • 最後に開発の観点から
    • localhost はドメイン名であり、本質的には「www.baidu.com」に似ています。ソケットを直接バインドすることはできないため、バインドする前に gethostbyname を IP に変換する必要があります。
    • 127.0.0.1 はループバック インターフェイスにバインドされたアドレスです。サーバー ソケットがそれにバインドされている場合、クライアント プログラムはローカルでのみアクセスできます。
    • ホスト内に複数のネットワーク カードがあり、異なる物理ネットワーク (192.168.1.1/255.255.255.0 など) に接続されている場合、サーバー ソケットがアドレス 192.168.0.1 にバインドされていると、他のコンピュータは 192.168.1.* に配置されます。ネットワーク セグメントには接続できず、192.168.0.* ネットワーク セグメントにあるコンピュータのみがサーバー プログラムにアクセスできます。

2. さて、今日はここで共有します。おそらく、すべての友人や子供の靴は、このコード行から派生する問題について新たな理解を持っているでしょう。


              [以下は、私が編集した 2023 年の最も完全なソフトウェア テスト エンジニア学習ナレッジ アーキテクチャ システム図です]


1. Pythonプログラミングの入門から習得まで

2.インターフェース自動化プロジェクトの実戦

3. Web自動化プロジェクトの実戦


4. アプリ自動化プロジェクトの実戦

5. 一流メーカーの再開


6. DevOps システムのテストと開発

7. 一般的に使用される自動テストツール


8、JMeterのパフォーマンステスト

9. まとめ(最後にちょっとしたサプライズ)

寿命が長いのでオイルを追加してください。すべての努力は決し​​て裏切られることはなく、粘り強く続ける限り、最後には必ずご褒美が得られます。自分の時間を大切にして夢を追いかけてください。初心を忘れず、前に進んでください。あなたの未来はあなたの手の中にあります!

人生は短く、時間は貴重です。将来何が起こるかを予測することはできませんが、現在の瞬間を把握することはできます。一日一日を大切にし、自分自身をより強く、より良くするために努力してください。確固たる信念、粘り強い追求、成功はやがてあなたのものになります。

常に自分自身に挑戦することによってのみ、常に自分を超えることができます。夢を追い続け、勇敢に前進すれば、その葛藤の過程がとても美しく、やりがいのあるものであることに気づくでしょう。自分を信じてください、あなたならできるよ!

おすすめ

転載: blog.csdn.net/NHB456789/article/details/131980832