在这个系列的教程中,笔者将根据自己在多年的Selenium自动化测试开发过程中的实战经验,为各位朋友进行梳理和总结,提供一个实战性很强的教程。同时也欢迎各位朋友指出教程的不足之处,一起学习,一起进步。
话不多说,直接进入教程的第一个板块:浏览器操作。
浏览器的操作可以说是使用Selenium进行自动化开发中最基础的内容之一,任何用例的执行都离不开浏览器的操作,因为Selenium的原理就是通过代码实现对浏览器的控制和操作,从而达到模拟人在浏览器上执行测试用例的目的。
本教程以Ruby作为开发语言。
1.打开和关闭浏览器
打开浏览器
任何的一个测试用例,都需要打开一个浏览器的实体,然后才能进行下面的操作。需要注意的是需要提前安装好对应浏览器的Webdriver。
require 'selenium-webdriver'
# chrome
dr = Selenium::WebDriver.for :chrome
# firefox
dr = Selenium::WebDriver.for :ff
# ie
dr = Selenium::WebDriver.for :ie
Headless mode
在一些场景下测试工程师需要在不打开浏览器的情况下进行自动化测试,也就是以headless的方式运行自动化测试。
现在全球最受欢迎的浏览器Chrome在Chrome 59 (Chrome 60 for Windows)版本中已经支持了headless mode,只需要配置一些简单的参数就可以实现。
require 'selenium-webdriver'
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--remote-debugging-port=9222')
driver = Selenium::WebDriver.for :chrome, options: options
driver.get "https://www.acitve.com"
driver.save_screenshot("#{
File.dirname(__FILE__)}/#{
Time.now.strftime("%F")}")
关闭浏览器
执行完操作后,必须保证浏览器被关闭。
关闭浏览器有两种方法:
close()
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :chrome
sleep 5
puts '浏览器将被关闭'
dr.close(