From e137230b35814121e268c3bdbb6ffa113333df2d Mon Sep 17 00:00:00 2001 From: Aleksey Kliger Date: Wed, 17 May 2023 14:56:40 -0400 Subject: [PATCH 1/3] Bump selenium-standalone to 8.3.0 - allow E2E testing on osx-arm64 --- src/Components/test/E2ETest/package.json | 4 +- src/Components/test/E2ETest/yarn.lock | 152 ++++++++++-------- src/Shared/E2ETesting/E2ETesting.props | 2 +- src/Shared/E2ETesting/E2ETesting.targets | 2 +- .../E2ETesting/SeleniumStandaloneServer.cs | 4 +- 5 files changed, 93 insertions(+), 71 deletions(-) diff --git a/src/Components/test/E2ETest/package.json b/src/Components/test/E2ETest/package.json index 085a418e3a12..102c416457e9 100644 --- a/src/Components/test/E2ETest/package.json +++ b/src/Components/test/E2ETest/package.json @@ -1,6 +1,6 @@ { "name": "microsoft.aspnetcore.components.e2etest", - "version": "0.0.1", + "version": "0.0.2", "description": "Not a real package. This file exists only to declare dependencies.", "main": "index.js", "private": true, @@ -13,7 +13,7 @@ "license": "MIT", "dependencies": { "sauce-connect-launcher": "^1.3.1", - "selenium-standalone": "^7.1.0" + "selenium-standalone": "^8.3.0" }, "devDependencies": { "@types/node": "^13.1.7", diff --git a/src/Components/test/E2ETest/yarn.lock b/src/Components/test/E2ETest/yarn.lock index 59a3743df090..8f4d7cd4e37d 100644 --- a/src/Components/test/E2ETest/yarn.lock +++ b/src/Components/test/E2ETest/yarn.lock @@ -53,6 +53,13 @@ dependencies: "@types/node" "*" +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha1-6vVNU7YrrkE46AnKIlyEOabvs5I= + dependencies: + event-target-shim "^5.0.0" + adm-zip@~0.4.3: version "0.4.16" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" @@ -77,6 +84,11 @@ async@^2.1.2: dependencies: lodash "^4.17.14" +b4a@^1.6.1: + version "1.6.4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/b4a/-/b4a-1.6.4.tgz#ef1c1422cae5ce6535ec191baeed7567443f36c9" + integrity sha1-7xwUIsrlzmU17Bkbru11Z0Q/Nsk= + balanced-match@^1.0.0: version "1.0.2" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -87,14 +99,14 @@ base64-js@^1.3.1: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= -bl@^4.0.3: - version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha1-RRU1JkGCvsL7vIOmKrmM8R2fezo= +bl@^6.0.0: + version "6.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bl/-/bl-6.0.1.tgz#f35547d073b5f920512943a3fe0ec9ad5854fcb7" + integrity sha1-81VH0HO1+SBRKUOj/g7JrVhU/Lc= dependencies: - buffer "^5.5.0" + buffer "^6.0.3" inherits "^2.0.4" - readable-stream "^3.4.0" + readable-stream "^4.2.0" brace-expansion@^1.1.7: version "1.1.11" @@ -114,13 +126,13 @@ buffer-from@^1.0.0: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U= -buffer@^5.5.0: - version "5.7.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA= +buffer@^6.0.3: + version "6.0.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha1-Ks5XhFnMj74qcKqo9S7mO2p0xsY= dependencies: base64-js "^1.3.1" - ieee754 "^1.1.13" + ieee754 "^1.2.1" cacheable-lookup@^5.0.3: version "5.0.4" @@ -147,10 +159,10 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -commander@^7.2.0: - version "7.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc= +commander@^10.0.0: + version "10.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha1-iB7ka0930cHczFgjQzqjmwIsvgY= concat-map@0.0.1: version "0.0.1" @@ -190,13 +202,28 @@ diff@^4.0.1: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= -end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.1.0: version "1.4.4" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= dependencies: once "^1.4.0" +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha1-XU0+vflYPWOlMzzi3rdICrKwV4k= + +events@^3.3.0: + version "3.3.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA= + +fast-fifo@^1.1.0: + version "1.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-fifo/-/fast-fifo-1.2.0.tgz#2ee038da2468e8623066dee96958b0c1763aa55a" + integrity sha1-LuA42iRo6GIwZt7paViwwXY6pVo= + fd-slicer@~1.1.0: version "1.1.0" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -204,11 +231,6 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha1-a+Dem+mYzhavivwkSXue6bfM2a0= - fs-extra@^10.0.0: version "10.1.0" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" @@ -285,7 +307,7 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" -ieee754@^1.1.13: +ieee754@^1.2.1: version "1.2.1" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= @@ -298,7 +320,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@^2.0.4: +inherits@2, inherits@^2.0.4: version "2.0.4" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= @@ -381,10 +403,10 @@ minimist@^1.2.5: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha1-waRk52kzAuCCoHXO4MBXdBrEdyw= -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha1-PrXtYmInVteaXw4qIh3+utdcL34= +mkdirp@^2.1.3: + version "2.1.6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mkdirp/-/mkdirp-2.1.6.tgz#964fbcb12b2d8c5d6fbc62a963ac95a273e2cc19" + integrity sha1-lk+8sSstjF1vvGKpY6yVonPizBk= ms@2.1.2: version "2.1.2" @@ -423,6 +445,11 @@ pend@~1.2.0: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= +process@^0.11.10: + version "0.11.10" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + progress@2.0.3: version "2.0.3" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -436,19 +463,25 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" +queue-tick@^1.0.1: + version "1.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" + integrity sha1-9vB6yCwf1g+C4Ji0F6gOUvH0wUI= + quick-lru@^5.1.1: version "5.1.1" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha1-NmST5rPkKjpoheLpnRj4D7eoyTI= -readable-stream@^3.1.1, readable-stream@^3.4.0: - version "3.6.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= +readable-stream@^4.2.0: + version "4.4.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-4.4.0.tgz#55ce132d60a988c460d75c631e9ccf6a7229b468" + integrity sha1-Vc4TLWCpiMRg11xjHpzPanIptGg= dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" resolve-alpn@^1.0.0: version "1.2.1" @@ -469,11 +502,6 @@ rimraf@^2.5.4: dependencies: glob "^7.1.3" -safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= - sauce-connect-launcher@^1.3.1: version "1.3.2" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sauce-connect-launcher/-/sauce-connect-launcher-1.3.2.tgz#dfc675a258550809a8eaf457eb9162b943ddbaf0" @@ -485,12 +513,12 @@ sauce-connect-launcher@^1.3.1: lodash "^4.16.6" rimraf "^2.5.4" -selenium-standalone@^7.1.0: - version "7.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/selenium-standalone/-/selenium-standalone-7.1.0.tgz#1192a4ad84f114137dd5deadcb81b0f56afe054a" - integrity sha1-EZKkrYTxFBN91d6ty4Gw9Wr+BUo= +selenium-standalone@^8.3.0: + version "8.3.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/selenium-standalone/-/selenium-standalone-8.3.0.tgz#effe900ffb764f2b9db29d3b2008ea68f289e328" + integrity sha1-7/6QD/t2Tyudsp07IAjqaPKJ4yg= dependencies: - commander "^7.2.0" + commander "^10.0.0" cross-spawn "^7.0.3" debug "^4.3.1" fs-extra "^10.0.0" @@ -499,9 +527,9 @@ selenium-standalone@^7.1.0: lodash.mapvalues "^4.6.0" lodash.merge "^4.6.2" minimist "^1.2.5" - mkdirp "^1.0.4" + mkdirp "^2.1.3" progress "2.0.3" - tar-stream "2.2.0" + tar-stream "3.0.0" which "^2.0.2" yauzl "^2.10.0" @@ -530,23 +558,22 @@ source-map@^0.6.0: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= +streamx@^2.12.5: + version "2.13.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/streamx/-/streamx-2.13.2.tgz#9de43569a1cd54980d128673b3c1429b79afff1c" + integrity sha1-neQ1aaHNVJgNEoZzs8FCm3mv/xw= dependencies: - safe-buffer "~5.2.0" + fast-fifo "^1.1.0" + queue-tick "^1.0.1" -tar-stream@2.2.0: - version "2.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha1-rK2EwoQTawYNw/qmRHSqmuvXcoc= +tar-stream@3.0.0: + version "3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tar-stream/-/tar-stream-3.0.0.tgz#43de9f0e8d1bccc0036dbe2731260ca7668406b6" + integrity sha1-Q96fDo0bzMADbb4nMSYMp2aEBrY= dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" + b4a "^1.6.1" + bl "^6.0.0" + streamx "^2.12.5" ts-node@^8.6.2: version "8.10.2" @@ -569,11 +596,6 @@ universalify@^2.0.0: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc= -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - which@^2.0.1, which@^2.0.2: version "2.0.2" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" diff --git a/src/Shared/E2ETesting/E2ETesting.props b/src/Shared/E2ETesting/E2ETesting.props index d1600f06133f..510b8f684de5 100644 --- a/src/Shared/E2ETesting/E2ETesting.props +++ b/src/Shared/E2ETesting/E2ETesting.props @@ -4,7 +4,7 @@ $(DefaultItemExcludes);node_modules\** $([MSBuild]::NormalizeDirectory('$(ArtifactsTestResultsDir)','$(MSBuildProjectName)')) $([MSBuild]::EnsureTrailingSlash('$(RepoRoot)'))artifacts\tmp\selenium\ - true + true $([MSBuild]::EnsureTrailingSlash('$(RepoRoot)'))artifacts\tmp\sauceconnect\ diff --git a/src/Shared/E2ETesting/E2ETesting.targets b/src/Shared/E2ETesting/E2ETesting.targets index 1450520a79ed..fe6cf1c47116 100644 --- a/src/Shared/E2ETesting/E2ETesting.targets +++ b/src/Shared/E2ETesting/E2ETesting.targets @@ -51,7 +51,7 @@ <_PackageJsonLinesContent>@(_PackageJsonLines) - <_PackageJsonSeleniumPackage>"selenium-standalone": "^7.1.0" + <_PackageJsonSeleniumPackage>"selenium-standalone": "^8.3.0" GetInstanceAsync(ITestOutputH private static async Task InitializeInstance(ITestOutputHelper output) { var port = FindAvailablePort(); - var uri = new UriBuilder("http", SeleniumHost, port, "/wd/hub").Uri; + var uri = new UriBuilder("http", SeleniumHost, port, "/").Uri; var seleniumConfigPath = typeof(SeleniumStandaloneServer).Assembly .GetCustomAttributes() @@ -111,7 +111,7 @@ private static async Task InitializeInstance(ITestOutputHelper output) var psi = new ProcessStartInfo { FileName = "npm", - Arguments = $"run selenium-standalone start -- --config \"{seleniumConfigPath}\" {chromeDriverArg} -- -host {SeleniumHost} -port {port}", + Arguments = $"run selenium-standalone start -- --config \"{seleniumConfigPath}\" {chromeDriverArg} -- --host {SeleniumHost} --port {port}", RedirectStandardOutput = true, RedirectStandardError = true, }; From bb2505e80a5d978cca7b452e25f164cb4cf108bd Mon Sep 17 00:00:00 2001 From: Aleksey Kliger Date: Wed, 17 May 2023 21:19:52 -0400 Subject: [PATCH 2/3] Pass CHROMEDRIVER using JDK_JAVA_OPTIONS Can't use the selenium-standalone --javaArgs=... option due to a parsing bug upstream. Instead use the JDK option --- src/Shared/E2ETesting/SeleniumStandaloneServer.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Shared/E2ETesting/SeleniumStandaloneServer.cs b/src/Shared/E2ETesting/SeleniumStandaloneServer.cs index 43a906cce244..a2da41fc6d51 100644 --- a/src/Shared/E2ETesting/SeleniumStandaloneServer.cs +++ b/src/Shared/E2ETesting/SeleniumStandaloneServer.cs @@ -104,17 +104,23 @@ private static async Task InitializeInstance(ITestOutputHelper output) var chromeDriverPathEnvVar = Environment.GetEnvironmentVariable("CHROMEWEBDRIVER"); if (!string.IsNullOrEmpty(chromeDriverPathEnvVar)) { - chromeDriverArg = $"--javaArgs=-Dwebdriver.chrome.driver={chromeDriverPathEnvVar}/chromedriver"; + // Can't use selenium-standalone --javaArg=-D... due to https://github.com/webdriverio/selenium-standalone/issues/736 + // Pass the option to Java using JDK_JAVA_OPTIONS instead + chromeDriverArg = $"-Dwebdriver.chrome.driver={chromeDriverPathEnvVar}/chromedriver"; output.WriteLine($"Using chromedriver at path {chromeDriverPathEnvVar}"); } var psi = new ProcessStartInfo { FileName = "npm", - Arguments = $"run selenium-standalone start -- --config \"{seleniumConfigPath}\" {chromeDriverArg} -- --host {SeleniumHost} --port {port}", + Arguments = $"run selenium-standalone start -- --config \"{seleniumConfigPath}\" -- --host {SeleniumHost} --port {port}", RedirectStandardOutput = true, RedirectStandardError = true, }; + if (!string.IsNullOrEmpty(chromeDriverArg)) + { + psi.Environment.Add("JDK_JAVA_OPTIONS", $"{chromeDriverArg}"); + } if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { From fdf0ea01f1eb9e510e5129eb6d78b6746df3b849 Mon Sep 17 00:00:00 2001 From: Aleksey Kliger Date: Wed, 17 May 2023 22:46:41 -0400 Subject: [PATCH 3/3] fix whitespace --- src/Shared/E2ETesting/SeleniumStandaloneServer.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Shared/E2ETesting/SeleniumStandaloneServer.cs b/src/Shared/E2ETesting/SeleniumStandaloneServer.cs index a2da41fc6d51..59999365cf6e 100644 --- a/src/Shared/E2ETesting/SeleniumStandaloneServer.cs +++ b/src/Shared/E2ETesting/SeleniumStandaloneServer.cs @@ -104,8 +104,8 @@ private static async Task InitializeInstance(ITestOutputHelper output) var chromeDriverPathEnvVar = Environment.GetEnvironmentVariable("CHROMEWEBDRIVER"); if (!string.IsNullOrEmpty(chromeDriverPathEnvVar)) { - // Can't use selenium-standalone --javaArg=-D... due to https://github.com/webdriverio/selenium-standalone/issues/736 - // Pass the option to Java using JDK_JAVA_OPTIONS instead + // Can't use selenium-standalone --javaArg=-D... due to https://github.com/webdriverio/selenium-standalone/issues/736 + // Pass the option to Java using JDK_JAVA_OPTIONS instead chromeDriverArg = $"-Dwebdriver.chrome.driver={chromeDriverPathEnvVar}/chromedriver"; output.WriteLine($"Using chromedriver at path {chromeDriverPathEnvVar}"); } @@ -117,10 +117,10 @@ private static async Task InitializeInstance(ITestOutputHelper output) RedirectStandardOutput = true, RedirectStandardError = true, }; - if (!string.IsNullOrEmpty(chromeDriverArg)) - { - psi.Environment.Add("JDK_JAVA_OPTIONS", $"{chromeDriverArg}"); - } + if (!string.IsNullOrEmpty(chromeDriverArg)) + { + psi.Environment.Add("JDK_JAVA_OPTIONS", $"{chromeDriverArg}"); + } if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) {