An exercise in automating search, filters, and verification of the displayed results for Redfin.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Any modern machine and operating system should be able to run this project.
For simplicity's sake, the instructions will be catered to a Mac running OS X with Google Chrome installed.
Perform the following steps from your terminal of choice:
-
Install Homebrew, a package manager for macOS:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
Install rbenv, a Ruby version manager:
brew install rbenv
-
Configure rbenv in your shell:
rbenv init
-
Restart your shell:
exec $SHELL -l
-
Install Ruby 2.6.0:
rbenv install 2.6.0
-
Install Bundler, a Ruby gem manager:
gem install bundler
-
From a directory of your choice (a base level for Git repositories, clone the repository. Following this step, all subsequent steps should be performed from inside this cloned directory (./acorns-challenge):
git clone [replace brackets and bracketed text with value provided by 'Clone or Download' button in link above']
-
Install the required Ruby Gems:
bundle install
From inside the respository directory, run the following command:
cucumber
Output and results will follow.
- Open
features/tests/search_filter_results.feature
in your text editor or IDE of choice. - Modify the values in the
Then I set
lines one at a time to something drastically different (to ensure the homes returned contain ones that will trigger failure when checking) while leaving theAnd I verify
lines with their original values. - Run the code.
- Observe a failure for the type of filter you modified.
- Capybara - Web-based test automation software that simulates scenarios for user stories and automates web application testing for behavior-driven software development.
- Cucumber - Allows for readable test specification.
- Ruby - Dynamic, open source programming language with a focus on simplicity and productivity.
- RubyMine - Ruby-specific Integrated Development Environment.
- Site Prism - Page Object Model Domain-Specific Language (DSL) for Capybara.
- Michael Collins - Initial work - iammike
This project is bound by The Unlicense. For more information, please refer to http://unlicense.org.