- Selenium Design Patterns and Best Practices
- Dima Kovalenko
- 348字
- 2021-08-05 17:59:42
Understanding Selenium commands
In this section, we will walk through the saved test from the IDE, which is written in a language called Selenese. We will then compare the Selenese commands to the commands written in a real programming language.
Note
The code and the step-by-step instructions on how to test it on Windows and other operating systems can be found at https://github.com/dimacus/SeleniumBestPracticesBook.
Reading Selenese
If you ever see the HTML source code of any web page, Selenese will not be a new concept for you. Selenese can simply be described as an HTML table with a table row as a test command. Let's take a closer look at it. Open the search_test.html
file in your editor of choice. The whole test should look like this:

We will ignore the first five lines of the code, as it has no practical application for us at this point. On line 6, you will find the following code:

The preceding line declares the base domain URL for our tests.
Note
One of the biggest weaknesses in Selenium 1 (RC) is that it was written in JavaScript, which exposes security issues with third-party domains running arbitrary JavaScript code on any website. The security experts implemented strict rules to prevent Cross-Site Scripting (XSS). Thus, Selenium IDE and RC will not be able to test multiple websites in a single test run.
Our next section of interest is the code on lines 14 to 18, where a single table row (tr) contains our first command in three table data (td) sections. Test lines 14 to 18 are shown here:

The first TD matches the Command column in the IDE, and in this case the command is to open a given URL.
The second TD matches the Target column in the IDE and is telling the test to open the root of the base URL from line 6.
Tip
You can tweak your test here by adding a direct link to a page you want, such as /index.html
or /register
. This will allow you to go directly to the page you wish to test.
- Mastering OpenLayers 3
- 重學Java設計模式
- Redis Essentials
- Mastering JavaScript Design Patterns(Second Edition)
- Mastering Android Development with Kotlin
- R Data Analysis Cookbook(Second Edition)
- Learning Laravel's Eloquent
- Learning Docker Networking
- Spark技術內幕:深入解析Spark內核架構設計與實現原理
- 從零開始學Unity游戲開發:場景+角色+腳本+交互+體驗+效果+發布
- Building UIs with Wijmo
- Python全棧開發:數據分析
- Swift Essentials(Second Edition)
- 深入理解MySQL主從原理
- HTML5+jQuery Mobile移動應用開發