zoukankan      html  css  js  c++  java
  • SeleniumWebdriver系列教程(二)————浏览器的简单操作

    如何打开一个测试浏览器

    做自动化测试一般情况下我们都需要首先打开测试浏览器,浏览器开启后我们方可”命令”浏览器去打开新页面,点击特定的链接,判断具体的逻辑等等。因此该操作为”万里长征的第一步”,必须给以重视。具体代码如下。需要注意的是如果使用chrome进行测试,那么必须下载安装chrome driver

    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 '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 :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
    

    其他方法

    • window_handles : 返回当前所有打开浏览器的窗口句柄

    • window_handle : 返回当前的浏览器的窗口句柄

    • page_source : 返回当前页面的源码

    • visible? : 当前浏览器是否可见,并不保证支持所有浏览器

    深入讨论

    操作浏览器的方法主要封装在lib\selenium\webdriver\common\driver.rb文件中。

    该文件定义了Selenium::WebDriver::Driver类。我们启动浏览器就是调用这个类的for方法。

  • 相关阅读:
    316 Remove Duplicate Letters 去除重复字母
    315 Count of Smaller Numbers After Self 计算右侧小于当前元素的个数
    313 Super Ugly Number 超级丑数
    312 Burst Balloons 戳气球
    309 Best Time to Buy and Sell Stock with Cooldown 买股票的最佳时间含冷冻期
    Java 类成员的初始化顺序
    JavaScript 全局
    HTML字符实体
    Java中的toString()方法
    JavaScript 弹窗
  • 原文地址:https://www.cnblogs.com/timsheng/p/2546927.html
Copyright © 2011-2022 走看看