ruby webdriver
来源:互联网 发布:如何优化网站页面 编辑:程序博客网 时间:2024/06/06 11:03
前言
Watir Webdriver是用ruby操作webdriver的很酷的方式,通常被用来做一些rails app的测试。
Example
下面的示例是一个网站的登录示例:
require 'watir-webdriver'b = Watir::Browser.newb.driver.manage.window.maximizeb.goto "http://xx.com"b.link(:text => 'Create Account').clickb.text_field(:id => 'signupEmail').focus!.set "some@example.com"b.text_field(:id => 'signupPassword').focus!.set "1234"b.text_field(:id => 'passwordConfirm').focus!.set "1234"b.checkbox(:id=> 'notifyOptin').focus!.set trueb.button(:id => 'signupSubmit').focus!.click# or you can use:# b.send_keys :enterb.text.include? 'Welcome to XX website'b.close
上面的示例中,很多text_field或button等元素使用了focus!方法,这是因为webdriver无法和浏览器中未显示的元素交互,否则会发生异常,当你拥有一个很长的列表在当前浏览器窗口中无法显示时,如果去和未显示的列表项交互就会发生这种异常。解决办法是调用元素的focus方法,focus方法会将该元素滚动到视野中,但focus方法默认返回nil,如果调用该方法多次就不是一个hacky way。所以需要为webdriver打个补丁,添加一个focus!方法:
class Watir::Elementdef focus!self.focus unless self.visible?selfendend
有的网站登录会使用一个frame来呈现登录窗口,webdriver可以很方便地和frame交互:
b.frame(:id => "content_ifr").text_field(:id=>'signinEmail').set "s@gmail.com"b.frame(:id => "content_ifr").text_field(:id=>'signinEmail').set "234"
更多html元素的交互请看elements。
发送特定的按键:
b.send_keys :enterb.element.send_keys [:control, 'a'], :backspaceb.element.click(:shift, :control)
- ruby webdriver
- 搭建ruby+watir-webdriver+cucumber环境
- ruby+selenium-webdriver一步一步完成自动化测试-----准备篇
- ruby+selenium-webdriver一步一步进行自动化测试------面向对象编程
- ruby+selenium-webdriver一步一步完成自动化测试----生成测试报告
- ruby+selenium-webdriver一步一步进行自动化测试----学习总结陈述
- ruby webdriver 启动firefox driver时,加载firebug的扩展
- 一个有意思的Ruby Webdriver超时问题的解决过程
- Mac安装Ruby+Cucumber+Selenium 然后运行一个简单的ruby脚本用selenium-webdriver
- webDriver
- webdriver
- WebDriver
- Webdriver
- ruby+selenium-webdriver一步一步完成自动化测试-----第一个小例子
- ruby+selenium-webdriver一步一步完成自动化测试-----一个测试用例
- ruby+selenium-webdriver一步一步完成自动化测试-----逻辑与数据分离
- ruby+selenium-webdriver一步一步完成自动化测试-----多个测试用例
- ruby
- catalan数
- HDU3127:WHUgirls(完全背包)
- XP之后Windows的一些变化
- Rom+Odex+Apk处理
- 对内存敏感的WeakHashMap
- ruby webdriver
- spoj 13041 The Black Riders
- Bone Collector解题报告
- 在 Web 项目中应用 Apache Shiro
- UltraISO+U盘+win8重装系统
- poj1077双向宽搜——境界四
- 2013.7 显卡天梯及详细性能比对
- Java----代理
- java indexOf方法