来源:http://www.51testing.com/html/83/14994683-866551.html
如何打开一个测试浏览器
做 自动化测试一般情况下我们都需要首先打开测试浏览器,浏览器开始后方可命令浏览器去打开新页面,点击特定的链接,判断具体的逻辑等等。因此该操作是第一步,必须重视。具体的代码如下,如果要使用chrome进行自动化,要下载对应的工具require 'rubygems'
require 'selenium-webdriver'
# 打开firefox
dr = Selenium::WebDriver.for :firefox
dr = Selenium::WebDriver.for :ff
# 打开ie
dr = Selenium::WebDriver.for :ie
dr = Selenium::WebDriver.for :internet_explorer
# 打开chrome
dr = Selenium::WebDriver.for :chrome
如何打开1个具体的url
打开浏览器后我们需要转到我们的测试url。下面的代码可以达成这个目的。
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
# 使用get方法
dr.get url
# 使用navigate方法,然后再调用to方法
dr.navigate.to url
如何最大化浏览器
@driver.manage.window.maximize
设置浏览器长宽
@driver.manage.window.resize_to(600,400)#width=600,height=400
如何关闭浏览器
测试结束后往往需要关闭浏览器,下面的代码可以完成这个任务。
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
dr.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 :firefox
url = 'http://www.soso.com'
dr.navigate.to url
search_input = dr.find_element :id => 's_input'
search_input.send_keys 'webdriver'
search_input.submit
match = dr.current_url
如何返回当前页面的title
require 'rubygems'
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
url = 'http://www.soso.com'
dr.navigate.to url
puts dr.title
浏览器后退
@driver.navigate.back
浏览器前进
@driver.navigate.forward
具体例子代码
#encoding:UTF-8
require 'selenium-webdriver'
#打开ie
@driver=Selenium::WebDriver.for :ie
#隐形设置等待时间
@driver.manage.timeouts.implicit_wait =60
#最大化浏览器
@driver.manage.window.maximize
#设置浏览器的宽、长
#@driver.manage.window.resize_to(600,400)
#具体的url
@url="http://www.baidu.com/"
#打开具体的URL
@driver.get @url
#查找id为kw的元素,并清空值
@driver.find_element(:id,"kw").clear
#根据CSS查找id为kw的元素并赋值为杨丹霞
@driver.find_element(:css,"#kw").send_key("杨丹霞")
@driver.find_element(:id,"su").click
print @driver.current_url
#返回(后退)到百度首页
@driver.navigate.back
sleep(2)
#前进到搜索杨丹霞的页面
@driver.navigate.forward