zoukankan      html  css  js  c++  java
  • WatirWebdriver与watir1.x的差异

    今天在wiki上看到了Watir-Webdriver与watir1.x的差异,估计不少同学会用到,顺手翻译一下,抛砖引玉,谬误勿怪。

    元素定位

    • 索引从0开始,而不是从1开始;举例来说,在watir webdriver里table.rows[0]代表的是第一行;

    • 支持所有的HTML标签,当然包括HTML5了;

    • 所有的元素均支持hash定位和多重定位;

    • 集合类的方法支持使用定位参数了,比如

      browser.divs(:class => "foo") #=> #<Watir::DivCollection>

    • 如果没有参数的话则返回第一个匹配元素(注意,是html tag的匹配)

      browser.div #=> the first div on the page

    • 不再支持使用单个参数来定位元素

      browser.div("some_id") #不再支持default how的情况了

    • 不再支持使用第3个参数value来定位checkbox/radio元素

      checkbox(:class => "foo", :value => "bar") # 现在应该这样用

    • elementbyxpath()方法总是返回Watir元素了,不再返回OLE元素;

    • elementsbyxpath()方法返回空的array,如果没有元素匹配到的话(不再返回nil);

    • How参数必须是符号型

      browser.meta(:http_equiv, 'foo') instead of browser.meta('http-equiv', 'foo')

    • 定位元素时,:url不再是:href的别名;

    废弃的方法

    • 改进的Table类API;这里面改了不少,不一一写出来了;

    • 移除了一些TextField类的方法

      TextField#verifycontains TextField#dragcontentsto TextField#requirestyping TextField#abhors_typing

    • 一些IE浏览器特有的方法也移除了:(当然,一般都是Browser这个类的)

      Browser#document Browser.{speed,speed=} Browser.{attachtimeout,attachtimeout=} Browser.visible Browser.each Browser#{visible,visible=} Browser#wait Browser#bringtofront

    • 驼峰型的方法被移除了,当然这里面有一些方法在watir1.6中就移除了:

      Container#checkBox Image#hasLoaded? Image#fileSize Image#fileCreatedDate {Radio,Checkbox}#isSet? {Radio,Checkbox}#getState SelectList#getSelectedItems SelectList#getAllContents SelectList#clearSelection TextField#requires_typing TextField#getContents Textfield#dragContentsTo

    • 废弃了SelectList#type #=> "select-one" or "select-multiple"方法,现在用SelectList#multiple

    局限性

    • 不再支持attach一个浏览器的实例;新的 window switching API基本可以替代以前的attach()方法使用;

    • 不再支持操作hidden的元素了;

    • Webdriver只支持点击可见的元素;

    其他

    • DOM元素的相等比较现在跟Ruby语言中是一致的了:

      Element#== and Element#eql?

  • 相关阅读:
    XML文件的操作说明
    IIS中如何应用程序启用https协议
    sql server中的数据类型转换函数
    sql语句中的join连接(左连接、右连接、全连接、内连接)
    sql语句中日期相减的操作
    C# NameValueCollection集合
    json的两种表示结构(对象和数组).。
    ASP.NET中一般处理程序报的错误:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
    C#中类的实例是不能 获取到类中的静态方法和静态变量(Static)的,及原因
    《好好学Java 从零基础到项目实战》姗姗而来
  • 原文地址:https://www.cnblogs.com/nbkhic/p/2356038.html
Copyright © 2011-2022 走看看