Ruby、Cucumber 和 Watir 自动化脚本基础

Ruby, Cucumber and Watir Automation Scripting Basics

感谢社区中的所有人和版主,感谢他们如此冷静并愿意如此迅速地提供帮助!只是想带头。所以我真的可以使用这个基本的自动化脚本来帮助我 运行。我正在尝试 select Google.com 上的搜索栏并输入一些文本。我从朋友那里得到了一些帮助,但他们也被困住了。但它学习了这一点,我希望能从专家那里得到一些帮助,并提出这些我有的问题,因为 Google 什么都不懂!

1) 如何 select 搜索字段并输入文本。

我的看起来像这样我试过 xpath,不同的值,id 的 classes。

require 'ruby' 
require 'watir-webdriver'

browser = Browser::browser.new :firefox 
browser.goto 'http://google.com'
browser.text_field(:value => 'Search').set('google search')

2) 当我检查元素并找到该值的独特特征(即 href、id、标题、class、名称)时,我实际上可以利用这些特征来调用按钮, text_field, 或 link?

3) 我理解 html 和 css 非常好。有人可以解释一下如何正确使用 xpath 吗?

你们太棒了,我觉得外面有很多人和我有同样的问题,但在任何地方都找不到该死的答案,所以我问你们所有的自动化专家,你会吗介意扔下知识炸弹并向我们学习吗?

此脚本中存在一些错误。这是一个工作版本:

# require 'ruby'                         # don't require ruby
require 'watir-webdriver'                # corrected typo in gem name

browser = Watir::Browser.new :firefox    # corrected Browser::browser.new
browser.goto 'http://google.com'
browser.text_field(:title => 'Search').set('google search') # changed :value to :title

就识别 page elements 而言,通常认为使用 id 属性是一种很好的做法,因为它对页面来说是独一无二的。您可以使用列出的属性,但它们必须作为给定 HTML 元素的属性存在。 AFAIK,watir-webdriver 支持使用大多数标准 HTML 标记属性进行定位,还可以通过正则表达式和组合多个定位器根据索引定位元素。例如,您可以替换上面脚本中的任何这些:

browser.text_field(:title => /Search/).set('google search')
browser.text_field(:class => 'gsfi').set('google search')
browser.text_field(:id => 'lst-ib').set('google search') 
browser.text_field(:name=> 'q', :class => 'gsfi').set('google search')

如果您还没有,我建议您查看 http://watirwebdriver.com/ and https://github.com/watir/watir/wiki。如果您对使用 xpath 查找棘手的元素感到好奇,请查看 https://jkotests.wordpress.com/2012/08/28/locate-element-via-custom-attribute-css-and-xpath/.