Skip to content
/ agent_q Public

Headless agent for test driven relevancy with Quepid.com

License

Notifications You must be signed in to change notification settings

o19s/agent_q

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent Q

Join the chat at https://gitter.im/o19s/agent_q

AgentQ lets you automate your test driven relevancy cases via Quepid. Easily integrate testing your Solr or Elasticsearch search engine into your CI or Continuous Deployment pipeline. Be confident that you have highly relevant search results without the manual testing!

Run a Quepid case automatically from the command line by passing in a case number (4081) and the score threshold for deciding if your search results pass or fail (10):

> export QUEPID_PASSWORD=your_password
> agent_q 4081 10 epugh@opensourceconnections.com $QUEPID_PASSWORD http://app.quepid.com

Case o19s blog search (778) scored 10.0, which meets the threshold of 10

If the Q Score for the case meets the threshold, then AgentQ will return 0, otherwise it returns 1, which signifies to your CI system that there was a failure.

How it Works

AgentQ is shipped as a simple Ruby gem that uses PhantomJS to programmatically interact with the rich web application hosted at Quepid.com. Start by installing PhantomJS. We use AgentQ to verify the search quality of our website. We added the gem to our Jekyll project:

# Support CI testing of search with Quepid
gem 'agent_q', '~> 0.0.10'

and then call AgentQ from CircleCI via this line in our circle.yml file:

test:
  override:
    - bundle exec jekyll build
      - bundle exec agent_q 4081 10 $QUEPID_USER $QUEPID_PASSWORD http://app.quepid.com

How to test the code

Just run the code locally via ./bin/agent_q

Updating the Gem

Read up on how to manage gems at https://guides.rubygems.org/make-your-own-gem/.

bundle install
gem build agent_q.gemspec
gem install ./agent_q-0.0.12.gem
agent_q 4081 10 epugh@opensourceconnections.com $QUEPID_PASSWORD http://app.quepid.com

To deploy to RubyGems:

gem push agent_q-0.0.12.gem