agent_q 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/bin/agent_q +10 -0
  3. data/lib/agent_q.rb +53 -0
  4. metadata +92 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7876ff81a8ab71eace97e028fa79597fa15aaa31
4
+ data.tar.gz: e3a40d641013e9b5de5cdd1bb7f41f3e3fead6d6
5
+ SHA512:
6
+ metadata.gz: 59842627dc04f76aa7519e02705095a45a44a7939bdc88581a1d098c38511c89004102897d7c42d9debcec56bd4388525fe38f16087ee5cb211e1b1572e3392a
7
+ data.tar.gz: 7d3a0be1b54230c9413b1c19d25062a5a13bc8cad0095c5a67a555a9d46f34e2b66c8babc8089d1496304292a61c2ce3d2c42ffc6b705a25e482b50a3511d036
data/bin/agent_q ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ require 'rubygems'
3
+ require_relative '../lib/agent_q'
4
+
5
+ quepid_case = ARGV[0]
6
+ username = ARGV[1]
7
+ password = ARGV[2]
8
+
9
+
10
+ AgentQ.new(quepid_case, username, password).run
data/lib/agent_q.rb ADDED
@@ -0,0 +1,53 @@
1
+ # Inspired by http://ngauthier.com/2014/06/scraping-the-web-with-ruby.html
2
+
3
+ require 'rubygems'
4
+ require 'capybara'
5
+ require 'capybara/dsl'
6
+ require 'capybara/poltergeist'
7
+ require 'json'
8
+
9
+ class AgentQ
10
+ include Capybara::DSL
11
+
12
+ QUEPID_URL = 'http://app.quepid.com'
13
+
14
+ def initialize(quepid_case, username, password)
15
+ Capybara.default_driver = :poltergeist
16
+ Capybara.app_host = QUEPID_URL
17
+ @quepid_case = quepid_case
18
+ @username = username
19
+ @password = password
20
+ end
21
+
22
+ def run
23
+
24
+
25
+ visit("/case/#{@quepid_case}/try/0")
26
+ #save_screenshot('quepid.png')
27
+ fill_in('Email', with: @username)
28
+ within(:xpath, "/html/body/div[2]/div/div/div[1]/div[1]/div/form") do
29
+ fill_in('Password', with: @password)
30
+ end
31
+ #save_screenshot('quepid_login.png')
32
+
33
+ click_button('Login')
34
+
35
+ sleep(20)
36
+
37
+ #save_screenshot('quepid_dashboard.png')
38
+
39
+ visit "/api/cases/#{@quepid_case}/scores/all.json"
40
+
41
+ html = page.html
42
+ json = html[html.index('{')..html.rindex('}')]
43
+
44
+ results = JSON.parse(json)
45
+
46
+ if results['message']
47
+ puts "Error checking case #{@quepid_case}: #{results['message']}"
48
+ else
49
+ puts results['scores'].first['score']
50
+ end
51
+
52
+ end
53
+ end
metadata ADDED
@@ -0,0 +1,92 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: agent_q
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Eric Pugh
8
+ - Matt Overstreet
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2017-03-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: capybara
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: poltergeist
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: nokogiri
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 1.6.8
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 1.6.8
56
+ description: A ruby agent that wraps PhantomJS that runs a specific Quepid Case and
57
+ returns if your relevancy score is above or below a threshold.
58
+ email:
59
+ - epugh@opensourceconnections.com
60
+ - moverstreet@opensourceconnections.com
61
+ executables:
62
+ - agent_q
63
+ extensions: []
64
+ extra_rdoc_files: []
65
+ files:
66
+ - bin/agent_q
67
+ - lib/agent_q.rb
68
+ homepage: http://rubygems.org/gems/agent_q
69
+ licenses:
70
+ - MIT
71
+ metadata: {}
72
+ post_install_message:
73
+ rdoc_options: []
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ requirements: []
87
+ rubyforge_project:
88
+ rubygems_version: 2.4.5.1
89
+ signing_key:
90
+ specification_version: 4
91
+ summary: Headless agent for test driven relevancy with Quepid.com
92
+ test_files: []