如何打开一个测试浏览器
做自动化测试一般情况下我们都需要首先打开测试浏览器,浏览器开启后我们方可"命令"浏览器去打开新页面,点击特定的链接,判断具体的逻辑等等。因此该操作为"万里长征的第一步",必须给以重视。具体代码如下。需要注意的是如果使用chrome进行测试,那么必须下载安装chrome driver。
require 'rubygems'require 'selenium-webdriver'# 打开firefoxdr = Selenium::WebDriver.for :firefoxdr = Selenium::WebDriver.for :ff# 打开iedr = Selenium::WebDriver.for :iedr = Selenium::WebDriver.for :internet_explorer# 打开chromedr = Selenium::WebDriver.for :chrome
如何打开1个具体的url
打开浏览器后我们需要转到我们的测试url。下面的代码可以达成这个目的。
require 'rubygems'require 'selenium-webdriver'dr = Selenium::WebDriver.for :firefox# 使用get方法dr.get url# 使用navigate方法,然后再调用to方法dr.navigate.to url
如何关闭浏览器
测试结束后往往需要关闭浏览器,下面的代码可以完成这个任务。
require 'rubygems'require 'selenium-webdriver'dr = Selenium::WebDriver.for :firefoxdr.get url# 使用quit方法dr.quit# 使用close方法dr.close
如何返回当前页面的url
有时候我们需要返回当前测试页面的url。比如在使用soso进行搜索时,当我们提交了搜索请求后,soso返回的url应该是包含我们所需要搜索的关键字的。
例如如果我们搜索webdriver,那么提交搜索请求后,页面应当转到url为http://www.soso.com/q?pid=s.idx&cid=s.idx&w=webdriver的页面,这时候我们取到这个页面的url,然后通过正则表达式去匹配一下就能够得到我们所搜索的关键字了。具体代码如下。
require 'rubygems'require 'selenium-webdriver'dr = Selenium::WebDriver.for :firefoxurl = 'http://www.soso.com'dr.navigate.to urlsearch_input = dr.find_element :id => 's_input'search_input.send_keys 'webdriver'search_input.submitmatch = dr.current_url.match(/\b\w+$/) keyword = match[0] if match
如何返回当前页面的title
require 'rubygems'require 'selenium-webdriver'dr = Selenium::WebDriver.for :firefoxurl = 'http://www.soso.com'dr.navigate.to urlputs dr.title
其他方法
· window_handles : 返回当前所有打开浏览器的窗口句柄
· window_handle :返回当前的浏览器的窗口句柄
· page_source : 返回当前页面的源码
· visible? : 当前浏览器是否可见,并不保证支持所有浏览器