Skip to content

Commit 6978ea8

Browse files
committed
[dotnet] Allow to run tests w/o pinned browsers
1 parent 03f626f commit 6978ea8

File tree

4 files changed

+42
-1
lines changed

4 files changed

+42
-1
lines changed

common/manager/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package(
22
default_visibility = [
33
"//dotnet/src/webdriver:__pkg__",
4+
"//dotnet/test/common:__pkg__",
45
"//java/src/org/openqa/selenium/manager:__pkg__",
56
"//javascript/node/selenium-webdriver:__pkg__",
67
"//py:__pkg__",

dotnet/src/webdriver/BUILD.bazel

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,18 +113,21 @@ copy_file(
113113
name = "manager-linux",
114114
src = "//common/manager:selenium-manager-linux",
115115
out = "manager/linux/selenium-manager",
116+
visibility = ["//dotnet/test/common:__pkg__"],
116117
)
117118

118119
copy_file(
119120
name = "manager-macos",
120121
src = "//common/manager:selenium-manager-macos",
121122
out = "manager/macos/selenium-manager",
123+
visibility = ["//dotnet/test/common:__pkg__"],
122124
)
123125

124126
copy_file(
125127
name = "manager-windows",
126128
src = "//common/manager:selenium-manager-windows",
127129
out = "manager/windows/selenium-manager.exe",
130+
visibility = ["//dotnet/test/common:__pkg__"],
128131
)
129132

130133
nuget_pack(

dotnet/test/common/BUILD.bazel

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ filegroup(
1818
data = [
1919
"appconfig.json",
2020
"//common/src/web",
21+
"//dotnet/src/webdriver:manager-linux",
22+
"//dotnet/src/webdriver:manager-macos",
23+
"//dotnet/src/webdriver:manager-windows",
2124
"//java/test/org/openqa/selenium/environment:appserver",
2225
"//java/test/org/openqa/selenium/environment:keystore",
2326
"//javascript/atoms",
@@ -39,6 +42,9 @@ csharp_library(
3942
"**/*Tests.cs",
4043
],
4144
),
45+
data = [
46+
"//common/manager:selenium-manager-macos",
47+
],
4248
target_frameworks = ["net7.0"],
4349
targeting_packs = [
4450
framework("nuget", "Microsoft.NETCore.App.Ref"),
@@ -54,6 +60,12 @@ csharp_library(
5460
],
5561
)
5662

63+
# copy_file(
64+
# name = "manager-macos",
65+
# src = "//common/manager:selenium-manager-macos",
66+
# out = "manager/macos/selenium-manager",
67+
# )
68+
5769
dotnet_nunit_test_suite(
5870
name = "AllTests",
5971
size = "large",

dotnet/test/common/Environment/EnvironmentManager.cs

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System;
66
using System.IO;
77
using System.Linq;
8+
using System.Runtime.InteropServices;
89

910
namespace OpenQA.Selenium.Environment
1011
{
@@ -23,9 +24,9 @@ public class EnvironmentManager
2324
private EnvironmentManager()
2425
{
2526
string dataFilePath;
27+
var runfiles = Runfiles.Create();
2628
try
2729
{
28-
var runfiles = Runfiles.Create();
2930
dataFilePath = runfiles.Rlocation("_main/dotnet/test/common/appconfig.json");
3031
}
3132
catch (FileNotFoundException)
@@ -138,6 +139,30 @@ private EnvironmentManager()
138139
projectRoot += "/_main";
139140
}
140141

142+
// Find selenium-manager binary.
143+
try
144+
{
145+
string managerFilePath = "";
146+
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
147+
{
148+
managerFilePath = runfiles.Rlocation("_main/dotnet/src/webdriver/manager/windows/selenium-manager.exe");
149+
}
150+
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
151+
{
152+
managerFilePath = runfiles.Rlocation("_main/dotnet/src/webdriver/manager/linux/selenium-manager");
153+
}
154+
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
155+
{
156+
managerFilePath = runfiles.Rlocation("_main/dotnet/src/webdriver/manager/macos/selenium-manager");
157+
}
158+
159+
System.Environment.SetEnvironmentVariable("SE_MANAGER_PATH", managerFilePath);
160+
}
161+
catch (FileNotFoundException)
162+
{
163+
// Use the default one.
164+
}
165+
141166
webServer = new TestWebServer(projectRoot, webServerConfig);
142167
bool autoStartRemoteServer = false;
143168
if (browser == Browser.Remote)

0 commit comments

Comments
 (0)