@@ -15,7 +15,7 @@ for more details about WebDriver binary installation.
1515
1616- `Locating elements`
1717- `Browser and Window`
18- - `Timeouts, waits and delays`
18+ - `Timeouts, waits, and delays`
1919- `Run-on-failure functionality`
2020- `Boolean arguments`
2121- `EventFiringWebDriver`
@@ -42,7 +42,7 @@ implicit.
4242
4343=== Default locator strategy ===
4444
45- By default locators are considered to use the keyword specific default
45+ By default, locators are considered to use the keyword specific default
4646locator strategy. All keywords support finding elements based on ``id``
4747and ``name`` attributes, but some keywords support additional attributes
4848or other values that make sense in their context. For example, `Click
@@ -70,7 +70,7 @@ Examples:
7070
7171The explicit locator strategy is specified with a prefix using either
7272syntax ``strategy:value`` or ``strategy=value``. The former syntax
73- is preferred, because the latter is identical to Robot Framework's
73+ is preferred because the latter is identical to Robot Framework's
7474[http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#named-argument-syntax|
7575named argument syntax] and that can cause problems. Spaces around
7676the separator are ignored, so ``id:foo``, ``id: foo`` and ``id : foo``
@@ -102,7 +102,7 @@ matches some of the explicit strategies.
102102Different locator strategies have different pros and cons. Using ids,
103103either explicitly like ``id:foo`` or by using the `default locator
104104strategy` simply like ``foo``, is recommended when possible, because
105- the syntax is simple and locating elements by an id is fast for browsers.
105+ the syntax is simple and locating elements by id is fast for browsers.
106106If an element does not have an id or the id is not stable, other
107107solutions need to be used. If an element has a unique tag name or class,
108108using ``tag``, ``class`` or ``css`` strategy like ``tag:h1``,
@@ -162,8 +162,8 @@ a WebElement that should be acted on:
162162
163163This keyword is a reimplementation of the basic functionality of the
164164``id`` locator where ``${browser}`` is a reference to a WebDriver
165- instance and ``${locator}`` is name of the locator strategy. To use
166- this locator it must first be registered by using the
165+ instance and ``${locator}`` is the name of the locator strategy. To use
166+ this locator, it must first be registered by using the
167167`Add Location Strategy` keyword:
168168
169169| `Add Location Strategy` | custom | Custom Locator Strategy |
@@ -178,41 +178,41 @@ See the `Add Location Strategy` keyword for more details.
178178
179179= Browser and Window =
180180
181- There is different conseptual meaning when SeleniumLibrary talks
182- windows and browsers. This chapter explains those differences.
181+ There is different conceptual meaning when SeleniumLibrary talks
182+ about windows or browsers. This chapter explains those differences.
183183
184184== Browser ==
185185
186186When `Open Browser` or `Create WebDriver` keyword is called, it
187187will create a new Selenium WebDriver instance by using the
188188[https://www.seleniumhq.org/docs/03_webdriver.jsp|Selenium WebDriver]
189- API. In SeleniumLibrary terms, a new broser is created. It is
189+ API. In SeleniumLibrary terms, a new browser is created. It is
190190possible to start multiple independent browsers (Selenium Webdriver
191191instances) at the same time, by calling `Open Browser` or
192192`Create WebDriver` multiple times. These browsers are usually
193- independent to each other and do not share data like cookies,
194- sessions or profiles. Typicall when browser starts, it
195- creates a single window in the desktop .
193+ independent of each other and do not share data like cookies,
194+ sessions or profiles. Typically when the browser starts, it
195+ creates a single window which is shown to the user .
196196
197197== Window ==
198198
199199Windows are the part of a browser that loads the web site and presents
200- it to the user. All content of the site is content of the window.
201- Windows are children of a WebDriver instance, in SeleniumLibrary
202- WebDriver is referred as browser . One browser may have multiple
203- windows. Windows can appear as tabs or as separate windows with
204- different position and size. Windows belonning to the same browser
200+ it to the user. All content of the site is the content of the window.
201+ Windows are children of a browser. In SeleniumLibrary browser is a
202+ synonym for WebDriver instance . One browser may have multiple
203+ windows. Windows can appear as tabs, as separate windows or pop-ups with
204+ different position and size. Windows belonging to the same browser
205205typically share the sessions detail, like cookies. If there is a
206206need to separate sessions detail, example login with two different
207- users, two browser (Selenium WebDriver instances) must be created.
207+ users, two browsers (Selenium WebDriver instances) must be created.
208208New windows can be opened example by the application under test or
209209by example `Execute Javascript` keyword:
210210
211211| `Execute Javascript` window.open() # Opens a new window with location about:blank
212212
213- In the example in below opens multiple browser and windows,
213+ The example below opens multiple browsers and windows,
214214to demonstrate how the different keywords can be used to interact
215- with a browser and windows attached to the browser .
215+ with browsers, and windows attached to these browsers .
216216
217217Structure:
218218| BrowserA
@@ -227,15 +227,15 @@ Example:
227227| `Open Browser` | https://robotframework.org | ${BROWSER} | alias=BrowserA | # BrowserA with first window is opened. |
228228| `Execute Javascript` | window.open() | | | # In BrowserA second window is opened. |
229229| `Switch Window` | locator=NEW | | | # Switched to second window in BrowserA |
230- | `Go To` | https://robocon.io | | | # Second window navigates to to robocon site. |
230+ | `Go To` | https://robocon.io | | | # Second window navigates to robocon site. |
231231| `Execute Javascript` | window.open() | | | # In BrowserA third window is opened. |
232232| ${handle} | `Switch Window` | locator=NEW | | # Switched to third window in BrowserA |
233233| `Go To` | https://github.com/robotframework/ | | | # Third windows goes to robot framework github site. |
234234| `Open Browser` | https://github.com | ${BROWSER} | alias=BrowserB | # BrowserB with first windows is opened. |
235235| ${location} | `Get Location` | | | # ${location} is: https://www.github.com |
236236| `Switch Window` | ${handle} | browser=BrowserA | | # BrowserA second windows is selected. |
237237| ${location} | `Get Location` | | | # ${location} = https://robocon.io/ |
238- | @{locations 1} | `Get Locations` | | | # By default lists locations under the currectly active browser. |
238+ | @{locations 1} | `Get Locations` | | | # By default, lists locations under the currectly active browser (BrowserA). |
239239| @{locations 2} | `Get Locations` | browser=ALL | | # By using browser=ALL argument keyword list all locations from all browsers. |
240240
241241The above example, @{locations 1} contains the following items:
@@ -245,21 +245,21 @@ contains the following items: https://robotframework.org/,
245245https://robocon.io/, https://github.com/robotframework/'
246246and 'https://github.com/.
247247
248- = Timeouts, waits and delays =
248+ = Timeouts, waits, and delays =
249249
250250This section discusses different ways how to wait for elements to
251251appear on web pages and to slow down execution speed otherwise.
252252It also explains the `time format` that can be used when setting various
253- timeouts, waits and delays.
253+ timeouts, waits, and delays.
254254
255255== Timeout ==
256256
257257SeleniumLibrary contains various keywords that have an optional
258258``timeout`` argument that specifies how long these keywords should
259259wait for certain events or actions. These keywords include, for example,
260260``Wait ...`` keywords and keywords related to alerts. Additionally
261- `Execute Async Javascript`. although it does not have ``timeout``,
262- argument, uses timeout to define how long asynchronous JavaScript
261+ `Execute Async Javascript`. Although it does not have ``timeout``,
262+ argument, uses a timeout to define how long asynchronous JavaScript
263263can run.
264264
265265The default timeout these keywords use can be set globally either by
@@ -282,7 +282,7 @@ See `time format` below for supported syntax.
282282Selenium execution speed can be slowed down globally by using `Set
283283Selenium speed` keyword. This functionality is designed to be used for
284284demonstrating or debugging purposes. Using it to make sure that elements
285- appear on a page is not a good idea, and the above explained timeouts
285+ appear on a page is not a good idea. The above- explained timeouts
286286and waits should be used instead.
287287
288288See `time format` below for supported syntax.
@@ -298,23 +298,23 @@ the time syntax see the
298298= Run-on-failure functionality =
299299
300300SeleniumLibrary has a handy feature that it can automatically execute
301- a keyword if any of its own keywords fails. By default it uses the
301+ a keyword if any of its own keywords fails. By default, it uses the
302302`Capture Page Screenshot` keyword, but this can be changed either by
303303using the `Register Keyword To Run On Failure` keyword or with the
304304``run_on_failure`` argument when `importing` the library. It is
305305possible to use any keyword from any imported library or resource file.
306306
307- The run-on-failure functionality can be disabled by using a special
308- value ``NOTHING`` or anything considered false (see `Boolean arguments`)
307+ The run-on-failure functionality can be disabled by using a special value
308+ ``NOTHING`` or anything considered false (see `Boolean arguments`)
309309such as ``NONE``.
310310
311311= Boolean arguments =
312312
313313Some keywords accept arguments that are handled as Boolean values true or
314314false. If such an argument is given as a string, it is considered false if
315315it is either empty or case-insensitively equal to ``false``, ``no``, ``off``,
316- ``0`` or ``none``. Other strings are considered true regardless their value, and
317- other argument types are tested using same
316+ ``0`` or ``none``. Other strings are considered true regardless of their value and
317+ other argument types are tested using the same
318318[https://docs.python.org/3/library/stdtypes.html#truth-value-testing|rules as in Python].
319319
320320True examples:
@@ -343,22 +343,22 @@ The SeleniumLibrary offers support for
343343[https://seleniumhq.github.io/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.event_firing_webdriver.html#module-selenium.webdriver.support.event_firing_webdriver|EventFiringWebDriver].
344344See the Selenium and SeleniumLibrary
345345[https://github.com/robotframework/SeleniumLibrary/blob/master/docs/extending/extending.rst#EventFiringWebDriver|EventFiringWebDriver support]
346- documentation for futher details.
346+ documentation for further details.
347347
348348EventFiringWebDriver is new in SeleniumLibrary 4.0
349349
350350= Thread support =
351351
352- SeleniumLibrary is not thread safe. This is mainly due because the underlying
352+ SeleniumLibrary is not thread- safe. This is mainly due because the underlying
353353[https://github.com/SeleniumHQ/selenium/wiki/Frequently-Asked-Questions#q-is-webdriver-thread-safe|
354- Selenium tool is not thread safe] within one browser/driver instance.
354+ Selenium tool is not thread- safe] within one browser/driver instance.
355355Because of the limitation in the Selenium side, the keywords or the
356- API provided by the SeleniumLibrary is not thread safe.
356+ API provided by the SeleniumLibrary is not thread- safe.
357357
358358= Plugins =
359359
360360SeleniumLibrary offers plugins as a way to modify and add library keywords and modify some of the internal
361- functionality without creating new library or hacking the source code. See
361+ functionality without creating a new library or hacking the source code. See
362362[https://github.com/robotframework/SeleniumLibrary/blob/master/docs/extending/extending.rst#Plugins|plugin API]
363363documentation for further details.
364364
0 commit comments