17
17
# specific language governing permissions and limitations
18
18
# under the License.
19
19
20
+ require 'bundler'
21
+
20
22
module Selenium
21
23
module WebDriver
22
24
module SpecSupport
@@ -27,10 +29,17 @@ def initialize
27
29
@create_driver_error = nil
28
30
@create_driver_error_count = 0
29
31
30
- $LOAD_PATH. insert ( 0 , root . join ( 'bazel-bin/rb/lib' ) . to_s ) if File . exist? ( root . join ( 'bazel-bin/rb/lib' ) )
31
- WebDriver . logger . ignore ( %i[ logger_info ] )
32
- SeleniumManager . bin_path = root . join ( 'bazel-bin/rb/bin' ) . to_s if File . exist? ( root . join ( 'bazel-bin/rb/bin' ) )
33
-
32
+ bazel_path = Bundler . root . join ( 'bazel-bin/rb/' ) . to_s
33
+ $LOAD_PATH. insert ( 0 , "#{ bazel_path } /lib" ) . to_s
34
+ ENV [ 'SE_MANAGER_PATH' ] = if Platform . windows?
35
+ "#{ bazel_path } /bin/windows/selenium-manager.exe"
36
+ elsif Platform . mac?
37
+ "#{ bazel_path } /bin/macos/selenium-manager"
38
+ elsif Platform . linux?
39
+ "#{ bazel_path } /bin/linux/selenium-manager"
40
+ end
41
+
42
+ WebDriver . logger . ignore ( :logger_info )
34
43
@driver = ENV . fetch ( 'WD_SPEC_DRIVER' , 'chrome' ) . tr ( '-' , '_' ) . to_sym
35
44
@driver_instance = nil
36
45
@remote_server = nil
@@ -77,7 +86,7 @@ def quit_driver
77
86
78
87
def app_server
79
88
@app_server ||= begin
80
- app_server = RackServer . new ( root . join ( 'common/src/web' ) . to_s , random_port )
89
+ app_server = RackServer . new ( Bundler . root . join ( 'common/src/web' ) . to_s , random_port )
81
90
app_server . start
82
91
83
92
app_server
@@ -108,7 +117,7 @@ def remote_server?
108
117
def remote_server_jar
109
118
jar = 'java/src/org/openqa/selenium/grid/selenium_server_deploy.jar'
110
119
test_jar = Pathname . new ( Dir . pwd ) . join ( jar )
111
- built_jar = root . join ( "bazel-bin/#{ jar } " )
120
+ built_jar = Bundler . root . join ( "bazel-bin/#{ jar } " )
112
121
jar = if File . exist? ( test_jar ) && ENV [ 'DOWNLOAD_SERVER' ] . nil?
113
122
test_jar
114
123
elsif File . exist? ( built_jar ) && ENV [ 'DOWNLOAD_SERVER' ] . nil?
@@ -133,12 +142,6 @@ def url_for(filename)
133
142
app_server . where_is filename
134
143
end
135
144
136
- def root
137
- # prefer #realpath over #expand_path to avoid problems with UNC
138
- # see https://bugs.ruby-lang.org/issues/13515
139
- @root ||= Pathname . new ( '../../../../../../../' ) . realpath ( __FILE__ )
140
- end
141
-
142
145
def create_driver! ( listener : nil , **opts , &block )
143
146
check_for_previous_error
144
147
0 commit comments