Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
SeleniumHQ
GitHub Repository: SeleniumHQ/Selenium
Path: blob/trunk/rb/lib/selenium/webdriver/common/timeouts.rb
1865 views
1
# frozen_string_literal: true
2
3
# Licensed to the Software Freedom Conservancy (SFC) under one
4
# or more contributor license agreements. See the NOTICE file
5
# distributed with this work for additional information
6
# regarding copyright ownership. The SFC licenses this file
7
# to you under the Apache License, Version 2.0 (the
8
# "License"); you may not use this file except in compliance
9
# with the License. You may obtain a copy of the License at
10
#
11
# http://www.apache.org/licenses/LICENSE-2.0
12
#
13
# Unless required by applicable law or agreed to in writing,
14
# software distributed under the License is distributed on an
15
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
# KIND, either express or implied. See the License for the
17
# specific language governing permissions and limitations
18
# under the License.
19
20
module Selenium
21
module WebDriver
22
class Timeouts
23
def initialize(bridge)
24
@bridge = bridge
25
end
26
27
#
28
# Gets the amount of time the driver should wait when searching for elements.
29
#
30
31
def implicit_wait
32
Float(@bridge.timeouts['implicit']) / 1000
33
end
34
35
#
36
# Set the amount of time the driver should wait when searching for elements.
37
#
38
39
def implicit_wait=(seconds)
40
@bridge.timeouts = {'implicit' => Integer(seconds * 1000)}
41
end
42
43
#
44
# Gets the amount of time to wait for an asynchronous script to finish
45
# execution before throwing an error.
46
#
47
48
def script
49
Float(@bridge.timeouts['script']) / 1000
50
end
51
alias script_timeout script
52
53
#
54
# Sets the amount of time to wait for an asynchronous script to finish
55
# execution before throwing an error. If the timeout is negative, then the
56
# script will be allowed to run indefinitely.
57
#
58
59
def script=(seconds)
60
@bridge.timeouts = {'script' => Integer(seconds * 1000)}
61
end
62
alias script_timeout= script=
63
64
#
65
# Gets the amount of time to wait for a page load to complete before throwing an error.
66
#
67
68
def page_load
69
Float(@bridge.timeouts['pageLoad']) / 1000
70
end
71
72
#
73
# Sets the amount of time to wait for a page load to complete before throwing an error.
74
# If the timeout is negative, page loads can be indefinite.
75
#
76
77
def page_load=(seconds)
78
@bridge.timeouts = {'pageLoad' => Integer(seconds * 1000)}
79
end
80
end # Timeouts
81
end # WebDriver
82
end # Selenium
83
84