最初のSeleniumテストを実行しようとしていますが、ポートの問題が原因でブラウザの起動に失敗しました。私のchromeブラウザのバージョンはバージョン78.0.3904.97(公式ビルド)(64ビット)であり、最新の安定リリースであるChromeDriver 78.0.3904.70をダウンロードしました。スクリプトを実行すると、次のエラーが表示されます。
ポート30211でChromeDriver 78.0.3904.70(edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs/branch-heads/3904 @ {#800})を起動していますローカル接続のみが許可されています悪意のあるコードによるアクセスを防ぐために、ChromeDriverと関連するテストフレームワークが使用するポートを保護してください。 [1573154573.453] [警告]:Chromeへの接続がタイムアウトになり、再試行しています... 2019年11月7日7:22:56 PM org.openqa.Selenium.remote.ProtocolHandshake createSession INFO:方言が検出されました:スレッド「メイン」org.openqa.Selenium.InvalidArgumentException:W3C例外:無効な引数
(セッション情報:chrome = 78.0.3904.97)ビルド情報:バージョン: '3.141.59'、リビジョン: 'e82be7d358'、時間: '2018-11-14T08:25:48'
私のchromebrowserバージョンと互換性のある最新のchromedriver exeをダウンロードしました。
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.chrome.ChromeDriver;
public class demo1 {
public static void main(String[] args) {
//invoke browser
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\270816\\Documents\\Selenium-
installations\\chromedriver_win32\\chromedriver.exe");
//create browser object
WebDriver driver= new ChromeDriver();
//hit google.com
driver.get("www.bbc.co.uk");
エラーメッセージ:
ポート30211でChromeDriver 78.0.3904.70(edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs/branch-heads/3904 @ {#800})を起動していますローカル接続のみが許可されています悪意のあるコードによるアクセスを防ぐために、ChromeDriverと関連するテストフレームワークが使用するポートを保護してください。
このエラーメッセージ...
_[1573154573.453][WARNING]: Timed out connecting to Chrome, retrying...
Nov 07, 2019 7:22:56 PM org.openqa.Selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C Exception in thread "main" org.openqa.Selenium.InvalidArgumentException: invalid argument
(Session info: chrome=78.0.3904.97) Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'
_
...ChromeDriverが新しいWebBrowserieChrome Browserセッション。
エラースタックトレースによれば、エラーの実際の理由については決定的ではありません。ただし、使用しているので:
問題は[〜#〜] jdk [〜#〜]バージョンのテストシステムにあると思われます
確認しておいて:
@Test
_をnon-rootユーザーとして実行します。driver.quit()
メソッド内でtearDown(){}
を呼び出しますインスタンスを優雅に。