- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
此处给出了基本的 Watir WebDriver 命令:
http://watirwebdriver.com/web-elements/
在大多数情况下,作者使用 :something => 'something'
在一个案例中,作者使用了:something, 'something'
这些规范的实现有什么不同吗?
是否存在一种情况会失败而另一种会起作用的情况?
我觉得没有什么区别。或者更准确地说,在我看来,在我测试的有限示例子集中,没有区别。
另一个问题。由于我年纪大了,我已经习惯了把东西放在括号里。我再次测试了两者,没有发现任何区别。上面的例子中是否有使用括号会失败的情况?
最佳答案
定位器格式
虽然 Watir 代码必须根据提供的格式执行不同的操作(即单个哈希与两个参数),但从 Watir 用户(即您)的角度来看,它们是相同的。您可以使用您喜欢的任何一个。
很久以前,Watir 仅支持定位具有单个属性的元素。那时,唯一支持的格式是 :something, 'something'
。
当 Watir 支持定位具有多个属性的元素时,使用哈希的选项 :something => 'something'
变得可用。据我所知,保留原始格式 :something, 'something'
是为了向后兼容。
因此,如果您只是根据单个属性定位元素,则可以使用任一格式。如果您使用多个属性,则必须使用哈希 - :something => 'something', :something2 => 'something2'
。
我建议仅使用哈希格式,因为它可以保持一致,并且在将来添加其他属性时更容易更改。
括号
对于你关于括号的问题,这是 Ruby 的事情,而不是 Watir 的事情。仅当 Ruby 对语句的解析不明确时才需要括号。
对于 Watir 定位器,您几乎总是需要括号。例如:
# Parenthesis are required
browser.link(:id => '1').text
# Without, an exception occurs - undefined method `text' for "1":String (NoMethodError)
browser.link :id => '1'.text
我猜你可以不用括号的一点是,如果你有一行刚刚初始化了一个元素。上面的内容可以通过将其分成两行来重写,无需括号。
e = browser.link :id => '1'
e.text
我再次建议始终使用括号可以使思考过程更容易。
关于watir-webdriver - 何时使用 :something => 'something' and when to use :something, 'something' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19681622/
这是我正在使用的 Watir 代码: require 'watir-classic' browser = Watir::IE.new browser.link(:class, "Wizardbutto
在我们的应用程序中,我们有一些具有以下属性的输入标签: 我已经尝试了大多数 watir 输入法,但没有任何方法可以识别这个对象。任何人都可以为我照亮一点吗? 我的 watir 版本是 1.6.5。
我能够在下拉列表中设置一个选项,但随后我收到一条错误消息。我找到了一个会返回相同错误的在线网站: http://www.100candles.com/floating_candles.htm irb(
希望有人可以帮助我解决我在 Cucumber/Watir 中遇到的转义字符问题。 我有自动化测试设置。当我执行搜索时,我用来验证搜索是否返回正确结果的断言之一是检查页面中的文本。所以我的代码看起来像这
在文本字段中输入文本后,我需要自动执行键盘上的“Enter”键操作。 我试过 @browser.send_keys :enter但这并没有起到作用。也试过@browser.text_field(:na
我想知道 watir-webdriver 是否能够记录任何控制台错误的输出? 这相当于在浏览器中手动打开控制台并在页面加载时观察 JS 错误。我可以通过 watir-webdriver 捕获它并登录/
我想从以下值中找到并单击 Line Lo 值。以下 li 有超过 100 条记录具有相同的类名。如何找到 Line Lo 并单击该值。
有一个repository of tests对于 Mozilla 插件站点,尽管它是使用 Selenium 编写的。我想知道是否有 Watir 可用的真实示例,以便我可以看到专业人士如何实现该框架?
我在处理以下情况时遇到问题。 我正在编写测试脚本,它将让我使用谷歌浏览器登录到系统。 我正在从 excel 中读取数据。 第一组数据的用户名/密码组合不正确。 场景是当输入的密码不正确时,弹出窗口显示
在下面的 html 中 Name: 12121 如何使用 Watir 访问“12121”文本? 最佳答案 要获取潜台词 12121,请使用正则表达式。 gsub 执行搜索和替换操作。它将搜索所有非
我有以下div ... Test 我想提出一个 Watir 查询来测试它我想出了以下(我只需要第一个)... def item_present? # @
我想将一个元素拖放到另一个元素的位置,从 watir-webdriver 脚本中触发。 “拖放”是指拿起一个可拖动元素并将其释放到另一个元素上。 “可能”是指可以从 watir-webdriver 脚
使用 watir-webdriver 时,如何将控制组合键发送到元素? 目前我可以使用以下代码向元素发送一个字符串; $browser.frame(:id,"ws-txt-editor").div(:
我们的网络应用程序有一些事件代码来“格式化”粘贴到字段中的任何文本,这样任何 HTML 样式都不会破坏我们的数据。 预加载浏览器剪贴板以便我可以测试粘贴到输入字段的好方法是什么? 有没有什么方法可以通
require 'watir' ie = Watir::Browser.new ie.goto "http://www.wallpapers.com/windows/Wallpapers/Anim
我有一部分类似于以下内容的 HTML: Text Goes Here ... rest of table 没有 ID、没有标题、没有任何类型的描述符来轻松识别包含文本的 div。 当页面上发生
是否可以将 watir-webdriver 附加到已打开的浏览器窗口? 最佳答案 Watir-webdriver 建立在 selenium-webdriver 之上,目前这是一个待定的功能。 见:ht
我正在使用 Watir 来自动测试 web 应用程序。 在其中一个页面中,我有类似 htis 的内容 但是我能够识别 HTML 元素来访问它。 我需要访问 id="1"value="TIMESH
嗨,出于 SEO 的目的,我们需要访问 html 页面上的 META 标签。但是 Watir 不支持 META 标签。还有其他方法可以访问不受支持的 HTML 标签吗? 任何帮助表示赞赏。 嗨,我找到
我需要检查某个列是否显示在表中。 每列都有一个带有唯一 ID 的 TH 标题。 检查表中 TH 元素是否存在的最佳方法是什么? 这是表格代码的示例。 Nam
我是一名优秀的程序员,十分优秀!