-
Notifications
You must be signed in to change notification settings - Fork 220
支持watir webdriver及selenium webdriver
easonhan edited this page May 24, 2013
·
5 revisions
page-object
gem可以通过watir-webdriver 或 selenium-webdriver来操作浏览器。你可以在PageObject
的构造函数来配置具体使用哪一个。
browser = Watir::Browser.new :firefox
registration_page = RegistrationPage.new(browser)
或
browser = Selenium::Webdriver.for :firefox
registration_page = RegistrationPage.new(browser)
page-object
gem实现了两个类库的兼容,以便其能无缝切换。
Watir 和Selenium 定位页面元素的方式是有所不同的。 我们在page object
中实现了一些功能去消除这些差异。下面是那些显而易见的区别。
- 在定位元素的时候Watir支持多个定位器(locator),而Selenium只支持一个。通过
page-object
,你可以在使用Selenium的时候提供多个参数。 - 在定位元素的时候Watir提供了
:index
定位器,但是Selenium不支持。通过page-object
,你可以在使用Selenium的时候使用:index
。 - 在Selenium中你无法通过
:href
属性去定位链接,而Watir则是可以的。通过page-object
,你可以在使用Selenium的用:href
属性去定位链接了。 - Watir支持通过
:text
属性来寻找hidden field,Selenium则不行。page-object
为Selenium添加了这个功能。 - Watir不支持使用
:name
属性来定位div, span, table, table data, ordered lists, unordered lists 及 list items,但是Selenium却是支持的。page-object
为Watir添加了这个功能。