`
piecehealth
  • 浏览: 47959 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Watir点击IE的提示条。

阅读更多

用Watir点击类似于上图的提示条。

首先引用前面一片文章提到过的模拟鼠标操作的一个模块。
module WindowsInput
  # Windows API functions
  SetCursorPos = Win32API.new('user32','SetCursorPos', 'II', 'I')
  SendInput = Win32API.new('user32','SendInput', 'IPI', 'I')
  # Windows API constants
  INPUT_MOUSE = 0
  MOUSEEVENTF_LEFTDOWN = 0x0002
  MOUSEEVENTF_LEFTUP = 0x0004
  MOUSEEVENTF_RIGHTDOWN = 0x0008
  MOUSEEVENTF_RIGHTUP = 0x0010

  module_function

  def send_input(inputs)
    n = inputs.size
    ptr = inputs.collect {|i| i.to_s}.join # flatten arrays into single string
    SendInput.call(n, ptr, inputs[0].size)
  end

  def create_mouse_input(mouse_flag)
    mi = Array.new(7, 0)
    mi[0] = INPUT_MOUSE
    mi[4] = mouse_flag
    mi.pack('LLLLLLL') # Pack array into a binary sequence usable to SendInput
  end

  def move_mouse(x, y)
    SetCursorPos.call(x, y)
  end

  def right_click
    rightdown = create_mouse_input(MOUSEEVENTF_RIGHTDOWN)
    rightup = create_mouse_input(MOUSEEVENTF_RIGHTUP)
    send_input( [rightdown, rightup] )
  end

  def left_click
    leftdown = create_mouse_input(MOUSEEVENTF_LEFTDOWN)
    leftup = create_mouse_input(MOUSEEVENTF_LEFTUP)
    send_input( [leftdown, leftup] )
  end
end 


然后通过DOM得到坐标,直接点击……
require 'watir'
require 'Win32API'
require 'WindowsInput'

ie = Watir::IE.attach(:title, "test page")
ie.bring_to_front
x = ie.document.parentWindow.screenLeft.to_i + 10
y = ie.document.parentWindow.screenTop.to_i - 10
WindowsInput.move_mouse(x, y)
WindowsInput.left_click


剩下的事情就根据具体请过具体解决了……
  • 大小: 67 KB
1
0
分享到:
评论
3 楼 piecehealth 2010-07-14  
candyania 写道
刚自己想到了一个解决办法,用楼主的办法点击到提示条以后,用autoit,模拟键盘按向下键和enter键,就可以啦~   
$autoit.Send('{DOWN}')
$autoit.Send('{ENTER}')

2 楼 candyania 2010-07-13  
刚自己想到了一个解决办法,用楼主的办法点击到提示条以后,用autoit,模拟键盘按向下键和enter键,就可以啦~   
$autoit.Send('{DOWN}')
$autoit.Send('{ENTER}')
1 楼 candyania 2010-07-13  
这种方法确实可以点到提示栏,不过点到提示栏之后会出现一个下拉菜单,必须选择下拉菜单里的“display blocked content”...我仍然尝试使用move_mouse和left_click,但是点不到下拉菜单不知道有没有好的解决方法

相关推荐

    watir安装包之三 IE watir

    安装命令:gem install watir --local。

    watir简易教程

    通过Watir,你可以编写Ruby脚本来控制浏览器,模拟用户操作,例如点击链接、填写表单、验证页面元素等,从而实现对Web应用的功能性和行为验证。 在开始使用Watir之前,你需要在脚本中引入库,通过`require 'watir'`...

    watir测试框架介绍

    watir测试框架介绍 watir测试框架介绍 watir测试框架介绍

    watir语法详解和描述

    - `ie.link(:text,"google").click`: 点击带有指定文本的链接。 - `ie.link(:url,"http://www.google.cn/").click`: 点击具有指定URL的链接。 4. 复选框(Checkbox): - `ie.checkbox(:name,"checkme").set`: ...

    Watir测试框架介绍

    Watir支持多种浏览器,包括IE、Firefox、Chrome和Safari,这使得测试环境的选择具有很高的灵活性。 ### **二、环境配置** 在开始使用Watir之前,你需要确保以下组件已安装: 1. **Ruby**: Watir是基于Ruby语言的,...

    watir-1.5.2.gem

    2. **跨平台**: Watir可在Windows、Mac和Linux等多种操作系统上运行,并支持IE、Firefox、Chrome等多种主流浏览器。 3. **丰富的开发库**: Watir封装了HTML元素,如窗口、按钮、链接、对话框、图像、表格和div等,...

    自动化测试Watir参考手册

    - **灵活性**:Selenium提供了更多平台的支持,包括多种浏览器和操作系统,而Watir最初只支持IE和Firefox。 - **学习曲线**:对于Ruby开发者来说,Watir的学习曲线较为平缓;而对于熟悉Java或C#的开发者,则可能会...

    watir介绍及安装

    它可以与IE、Firefox、Chrome等主流浏览器配合,实现跨平台的自动化测试。Watir提供了丰富的库,封装了HTML元素,如窗口、按钮、链接、对话框、图像、表格和div等,使测试人员能够快速构建测试脚本。 此外,Ruby的...

    ruby watir教程

    **Ruby Watir** 是一种用于网页自动化测试的工具库,它能够模拟用户在浏览器中的操作行为,如点击按钮、填写表单等,非常适合进行功能测试、回归测试和系统测试。 #### 二、安装Ruby Watir ##### 1. 安装Ruby环境 ...

    watir api chm

    Watir支持多种浏览器,包括Chrome、Firefox、IE等。通过设置`browser = Watir::Browser.new :chrome`,可以选择使用哪个浏览器进行测试。 6. **异常处理** 在编写测试脚本时,错误处理是必不可少的。Watir提供了...

    watir 自动化测试相关

    1. **跨浏览器支持**:Watir支持多种主流浏览器,如Chrome、Firefox、IE、Safari等,允许测试人员在不同浏览器环境中验证应用的行为。 2. **对象定位**:Watir提供了丰富的选择器,可以精确地定位到网页上的元素,如...

    watir安装所需要的gem包

    在Ruby编程语言环境中,Watir允许开发者通过编写代码来控制浏览器,进行网页元素的选择、点击、输入等操作,从而实现自动化测试。 在安装Watir时,我们通常需要安装一些特定的Gem包,Gem是Ruby的包管理器,用于管理...

    ruby and watir 安装指南

    ### Ruby 和 Watir 的安装指南 #### 背景与问题描述 在尝试安装 Watir 时遇到问题,尤其是在服务器 2003 上。主要问题是 Watir 的依赖包 `activesupport` 需要 Ruby 版本 >= 1.8.7,而当前系统上安装的是 Ruby ...

    Watir安装说明 Windows下本地安装

    - 在安装Ruby升级包和Watir时,请确保使用命令提示符(`cmd`)并切换到正确的目录。 - 安装Watir时要注意版本号,过高的版本可能无法正常工作。 - 在安装过程中遇到任何问题时,建议查看官方文档或社区论坛获取帮助。 ...

    watir-1.6.5.gem

    开源自动化测试工具组合:Ruby+Watir安装 安装准备: 1. 工具安装包准备: Ruby官方下载地址:http://www.ruby-lang.org/zh_cn/downloads/,稳定版本Ruby 1.8.6 Watir下载地址:...

    Watir的介绍文档:基于RUBY的web UI自动化测试库

    它的设计目的是模拟人们在浏览器中的行为,如点击链接、填写表单和按下按钮,并能够检查预期的文本是否出现在页面上。Watir适用于各种类型的Web应用程序,包括ASP.Net、JSP、PHP和Rails等。由于其开源特性,Watir由...

    watir-bonus-1.5.1.1230.zip

    而示例部分则提供了实际的代码片段,演示了如何执行各种Web测试任务,如点击按钮、填写表单、验证页面元素等,这对于初学者来说是非常宝贵的资源。unittests可能包含单元测试用例,展示了如何编写测试代码来验证...

    开放Ruby+watir 自动化测试工具介绍+安装说明

    4. **操作方法**:Watir提供了丰富的操作方法,如`click`(点击)、`text`(获取元素文本)、`set`(输入文本)等。 ### 示例代码 下面是一个简单的Watir测试脚本示例,它打开一个网页,查找并点击一个按钮: ```...

Global site tag (gtag.js) - Google Analytics