{"id":251,"date":"2010-11-08T22:57:10","date_gmt":"2010-11-09T04:57:10","guid":{"rendered":"http:\/\/scottcsims.com\/wordpress\/?p=251"},"modified":"2016-12-01T10:38:35","modified_gmt":"2016-12-01T16:38:35","slug":"the-selenium-fury-gem-is-ready-page-object-factory-for-selenium-and-ruby","status":"publish","type":"post","link":"http:\/\/scottcsims.com\/wordpress\/?p=251","title":{"rendered":"The Selenium Fury gem is ready! Page object factory for Selenium and Ruby."},"content":{"rendered":"<p>I have been working on converting our page object factory to open source for a few weeks. Now it is time to launch the \u00a0HomeAway sponsored open source project under the Apache 2.0 license. \u00a0It is a furiously quick way to implement test automation. \u00a0I am planning to add more configuration options in the future.<\/p>\n<p>This project started when I had to test a page with 300+ check boxes and I did not want to enter them by hand. \u00a0I used the page object generator to build a page of ruby variables with Selenium locators. Everything was great until some number of the check boxes changed their ids and my tests started failing. \u00a0I needed \u00a0a quick way to find out how many changed so I could update the locators by hand or regenerate the page. \u00a0This is where the validators came in. \u00a0I used Ruby&#8217;s support of reflection to open a class, navigate to the url of the page and use Selenium to validate the locators and return a list of missing locators on the page. \u00a0It worked perfectly for my page of 300+ check boxes. \u00a0I had over 40 that changed I quickly regenerated the page.<\/p>\n<p>Install with:<\/p>\n<ul>\n<li>gem install selenium_fury<\/li>\n<\/ul>\n<p>Checkout the home page and examples at <a title=\"Selenium Fury On Github\" href=\"http:\/\/www.github.com\/scottcsims\/SeleniumFury\" target=\"_blank\">https:\/\/github.com\/scottcsims\/SeleniumFury<\/a><\/p>\n<p>Thanks to HomeAway for\u00a0sponsoring\u00a0this project.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been working on converting our page object factory to open source for a few weeks. Now it is time to launch the \u00a0HomeAway sponsored open source project under the Apache 2.0 license. \u00a0It is a furiously quick way to implement test automation. \u00a0I am planning to add more configuration options in the future. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[8,37,7,9],"tags":[],"class_list":["post-251","post","type-post","status-publish","format-standard","hentry","category-automated-tests","category-rspec","category-ruby","category-selenium-grid"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=251"}],"version-history":[{"count":6,"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/251\/revisions"}],"predecessor-version":[{"id":471,"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/251\/revisions\/471"}],"wp:attachment":[{"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=251"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/scottcsims.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}