プロセスを強制終了した後にEdgeプロセスを再起動するときに問題が発生しました
こんにちは、
ブラウザベースのクライアント/サーバーアプリの自動テストを行っています.すべてのスクリプトは、専用のテストクライアントマシンで実行されます.自動スクリプトを実行する私のプロセスの一部として、最初に実行中のブラウザーがあるかどうかを確認し、ある場合はそのプロセスを強制終了します.
新しいEdgeの場合、「msEdge」を探し、見つかった場合はそれを強制終了します.
最初にスクリプトを実行したとき、再起動されたシステムでは、おそらく「msEdge」プロセスがまだ実行されていないため、スクリプトは正常に実行されます.一般的なプロセスは次のとおりです.
1)事前クリーンアップ:「msEdge」のプロセスを探して強制終了します
2)プロセス 'msEdge'を開始します
3)自動スクリプトの手順を実行します
4)スクリプトに合格してEdgeブラウザが正常に閉じられるか、スクリプトが失敗してブラウザが開いたままになります
5)後処理:「msEdge」のプロセスを探して終了します(ステップ4の成功または失敗に関係なく)
2回目にスクリプトを実行して2番目のステップに進むか、アイコンをダブルクリックしてプロセスを手動で開始しようとすると、スクリプトが開始されません.
他のブラウザ(Chrome、FireFox、IE)ではこの問題は発生しません.
何か提案はありますか?私が殺さなければならない実行中の他のプロセスはありますか? Edgeが起動すると、多数のmsEdgeプロセスが起動し、これらすべてが私のスクリプトによって強制終了されることに気付きました.
クモの巣
返信リスト(回答:4)
スクリプトを実行していることを知らないので、明確に質問に回答するのは難しいですが、私が知る限り、edgeは少なくとも3つのプロセスを実行します.
microsoftEdge.exe
microsoftEdgeCP.exe
microsoftEdgeSH.exe
良い一日を!
応答1# ->にスキップ2 #Arackni古いEdgeプロセスではありませんか?私はChromiumに基づく新しいEdgeについて話しています.それはまたそれらの古いプロセスを使用/実行しますか?
Aracknid
msedge.exeがプロセスでした.
本当に正しいです.他のプロセスが開いているのはわかりません.
わかりやすくするために、コードで次のように処理しています(少し簡略化しています):
プロセスを強制終了する場合:
ArrayOfProcesses=System.Diagnostics.Process.GetProcessesByName( "msedge")
ArrayOfProcessesの各p asSystem.Diagnostics.Processについて
p.Kill()
次へ
新しいEdgeの開始:
System.Diagnostics.Process.Start( "msedge"、 "about:blank")
そのため、スクリプトを2回実行しても、起動は機能しません.
現在、ほとんどの場合、手動でEdgeを起動するとうまくいくようです.時々機能しないことがありますが、理由はわかりません.
クモの巣