Selenium 简明教程

Selenium with Ruby Tutorial

Selenium 可以使用多种语言,比如 Java、Python、Kotlin、JavaScript、Ruby 等等。Selenium 被广泛用于 web 自动化测试。Selenium 是一个开源且可移植的自动化软件测试工具,用于测试 Web 应用程序。它具有跨不同浏览器和操作系统运行的能力。Selenium 不仅是一个单一的工具,而是一套工具,可帮助测试人员更有效地自动化基于 Web 的应用程序。

从 Selenium 4 版本开始,整个架构可以完全兼容 W3C - 世界联盟,这意味着 Selenium 4 遵循 W3C 给出的全部标准和指南。

How to Setup Selenium With Ruby?

Step 1 - 使用以下链接下载并安装本地系统中的 Ruby -

通过运行以下命令来确认已安装的 Ruby 版本 -

ruby -v

执行的命令的输出将表示系统中安装的 Ruby 版本。

Step 2 - 从以下链接下载并安装 Ruby 代码编辑器 RubyMine 以编写并运行 Selenium 测试 -

Step 3 - 启动 RubyMine 并点击新建项目按钮。

selenium ruby tutorial 1

Step 4 - 输入项目名称(比如 SeleniumTest),选择 Ruby 解释器,然后点击创建按钮。

selenium ruby tutorial 2

Step 5 - 右键点击 SeleniumTest 项目,点击新建选项,然后点击文件选项。

selenium ruby tutorial 3

Step 6 - 输入文件名(比如 FirstTest.rb)作为新建文件名称,然后按 Enter。

selenium ruby tutorial 4

Step 7 - 通过在 FirstTest.rb 文件中添加以下代码片段来确认 Ruby 解释器是否正确配置 -

puts 'Tutorialspoint'

Step 8 - 通过右键点击并选择运行 FirstTest 的选项来运行代码。

selenium ruby tutorial 5

它将显示以下输出 −

Tutorialspoint

Process finished with exit code 0

在以上示例中,消息 - Tutorialspoint 被捕获到控制台中并收到了消息 Process finished with exit code 0 ,表示代码执行成功。

Step 9 - 为了安装 Selenium,从终端运行以下命令 -

gem install selenium-webdriver

Step 10 - 在 FirstTest.rb 文件中添加以下代码。

require 'selenium-webdriver'

# Initiate Webdriver
driver = Selenium::WebDriver.for :edge

# adding implicit wait of 15 seconds
driver.manage.timeouts.implicit_wait = 15

# launch an application
driver.get 'https://www.tutorialspoint.com/selenium/practice/text-box.php'

# get page title
puts 'Page Title: ' + driver.title

它将显示以下输出 −

Page title: Selenium Practice - Text Box

Process finished with exit code 0

在以上示例中,我们首先启动 Edge 浏览器并打开一个应用程序,然后检索浏览器标题,并在控制台中显示消息 - Page title: Selenium Practice - Text Box 。与此同时,Chrome 浏览器启动,在顶部显示消息 Edge is being controlled by automated test software

最后,收到了消息 Process finished with exit code 0 ,表示代码成功执行。

Launch a Browser and Quit a Driver With Selenium Ruby

我们可以使用 get 方法启动浏览器并打开应用程序,最后使用 quit 方法退出浏览器。

Code Implementation

require 'selenium-webdriver'

# Initiate Webdriver
driver = Selenium::WebDriver.for :edge

# adding implicit wait of 15 seconds
driver.manage.timeouts.implicit_wait = 15

# launch an application
driver.get 'https://www.tutorialspoint.com/selenium/practice/selenium_automation_practice.php'

# get page title
puts 'Browser title after launch: ' + driver.title

# close browser
driver.quit

它将显示以下输出 −

Browser title after launch: Selenium Practice - Student Registration Form

Process finished with exit code 0

在以上示例中,我们首先启动 Edge 浏览器,然后检索浏览器标题,最后退出浏览器,并在控制台中收到消息 - Browser title after launch: Selenium Practice - Student Registration Form

最后,收到了消息 Process finished with exit code 0 ,表示代码成功执行。

Identify An Element and Check Its Functionality using Selenium Ruby

一旦我们导航到某个网页,我们必须与该页面中可用的 web 元素进行交互,比如点击链接/按钮、在编辑框中输入文本等,以完成我们的自动化测试用例。

为此,我们的第一任务应该是识别元素。我们可以将链接文本用于链接以进行其识别并利用方法 find_element(name: '<value of name attributes>')。通过此项操作,应返回与名称属性匹配值匹配的第一个元素。

如果不存在与名称属性匹配值匹配的元素,则应引发 NoSuchElementException。

让我们查看下图中编辑框的 html 代码 −

selenium ruby tutorial 6
<input id="fullname" name="fullname" type="text" class="form-control" placeholder="Full Name">

上图中高亮显示在 FullName: 标签旁边的编辑框具有名称属性,其值为 fullname 。让我们在对其进行识别后向此编辑框中输入文本 Selenium 。最后,我们将退出浏览器。

Code Implementation

require 'selenium-webdriver'

# Initiate Webdriver
driver = Selenium::WebDriver.for :edge

# adding implicit wait of 15 seconds
driver.manage.timeouts.implicit_wait = 15

# launch an application
driver.get'https://www.tutorialspoint.com/selenium/practice/text-box.php'

# identify element then enter text
name = driver.find_element(:name ,'fullname')
name.send_keys("Selenium")

# close browser
driver.quit

在上面的示例中,我们首先启动 Edge 浏览器并打开了一个应用程序,然后在输入框中输入文本 Selenium。

最后,收到了消息 Process finished with exit code 0 ,表示代码成功执行。

Conclusion

这结束了我们对 Selenium Ruby 教程教程的全面了解。我们首先介绍如何使用 Ruby 设置 Selenium 并使用 Selenium Ruby 退出会话,如何使用 Selenium Ruby 启动浏览器和退出会话,以及如何使用 Selenium Ruby 识别元素并检查其功能。

Selenium Ruby 教程给您提供了深入的知识。明智的做法是坚持学习您已经学到的内容,并探索与 Selenium 相关的其他内容,以加深您的理解并扩展您的视野。