这两个宝石的区别" site_prism"和" page_object"

时间:2015-11-14 10:56:50

标签: ruby rspec page-object-gem site-prism

我遇到过两个项目,一个是WATIR cucumber feature filesstep definitions,另一个是Rspeccapybara`` without步骤定义and特征文件`。

WATIR项目page_object中使用了capybara site_prism gem

  1. 两个有什么区别?
  2. 我们在page_object中使用capybara这是不正确的做法吗?为什么?

1 个答案:

答案 0 :(得分:2)

两者之间的主要区别是支持的底层驱动程序,它是实际与浏览器交互的部分。

  • SitePrism支持Capybara。
  • Page-Object支持Watir-Webdriver和Selenium-Webdriver。

由于每个gem都会对驱动程序的API进行假设,因此不能使用不受支持的驱动程序 - 即不能将Capybara的Page-Object gem使用。

除此之外,它主要是API首选项。这两个宝石都用于创建页面对象模型。但是,定义页面对象的语法和页面对象具有的方法将根据每个gem的作者的偏好而有所不同。