symbiont 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,18 +2,24 @@ require 'spec_helper'
2
2
 
3
3
  describe Symbiont::Generators do
4
4
  let(:watir_browser) { mock_browser_for_watir }
5
- let(:selenium_browser) { mock_browser_for_selenium }
6
5
  let(:watir_definition) { DefinitionTest.new(watir_browser) }
7
- let(:selenium_definition) { DefinitionTest.new(selenium_browser) }
8
6
 
9
7
  describe "button web objects" do
10
8
  context "when declared in a definition" do
11
9
  it "should generate methods for referencing the button" do
12
10
  watir_definition.should respond_to(:submit_object)
13
11
  watir_definition.should respond_to(:submit_button)
12
+ end
14
13
 
15
- selenium_definition.should respond_to(:submit_object)
16
- selenium_definition.should respond_to(:submit_button)
14
+ it "should generate methods for interacting with the link" do
15
+ watir_definition.should respond_to(:submit)
16
+ watir_definition.should respond_to(:submit_text)
17
+ watir_definition.should respond_to(:submit_exists?)
18
+ watir_definition.should respond_to(:submit_visible?)
19
+ watir_definition.should respond_to(:submit_enabled?)
20
+ watir_definition.should respond_to(:submit?)
21
+ watir_definition.should respond_to(:submit_?)
22
+ watir_definition.should respond_to(:submit!)
17
23
  end
18
24
  end
19
25
 
@@ -24,27 +30,40 @@ describe Symbiont::Generators do
24
30
  web_object.should_not be_nil
25
31
  web_object.should be_instance_of Symbiont::WebObjects::Button
26
32
  end
27
-
33
+
34
+ it "should return the text of the button" do
35
+ watir_browser.should_receive(:button).and_return(watir_browser)
36
+ watir_browser.should_receive(:text).and_return('Submit')
37
+ watir_definition.submit_text.should == "Submit"
38
+ end
39
+
28
40
  it "should click the button" do
29
41
  watir_browser.should_receive(:button).and_return(watir_browser)
30
42
  watir_browser.should_receive(:click)
31
43
  watir_definition.submit
32
44
  end
33
- end
34
45
 
35
- context "used by the selenium platform" do
36
- it "should locate the button" do
37
- selenium_browser.should_receive(:find_element).and_return(selenium_browser)
38
- web_object = selenium_definition.submit_object
39
- web_object.should_not be_nil
40
- web_object.should be_instance_of Symbiont::WebObjects::Button
46
+ it "should determine if a button exists" do
47
+ watir_browser.should_receive(:button).twice.and_return(watir_browser)
48
+ watir_browser.should_receive(:exists?).twice.and_return(watir_browser)
49
+ watir_definition.submit?.should be_true
50
+ watir_definition.submit_exists?.should be_true
41
51
  end
42
-
43
- it "should click the button" do
44
- selenium_browser.should_receive(:find_element).and_return(selenium_browser)
45
- selenium_browser.should_receive(:click)
46
- selenium_definition.submit
52
+
53
+ it "should determine if a button is visible" do
54
+ watir_browser.should_receive(:button).twice.and_return(watir_browser)
55
+ watir_browser.should_receive(:visible?).twice.and_return(watir_browser)
56
+ watir_definition.submit_?.should be_true
57
+ watir_definition.submit_visible?.should be_true
58
+ end
59
+
60
+ it "should determine if a button is enabled" do
61
+ watir_browser.should_receive(:button).twice.and_return(watir_browser)
62
+ watir_browser.should_receive(:enabled?).twice.and_return(watir_browser)
63
+ watir_definition.submit_enabled?.should be_true
64
+ watir_definition.submit!.should be_true
47
65
  end
48
66
  end
67
+
49
68
  end
50
- end
69
+ end
@@ -2,18 +2,22 @@ require 'spec_helper'
2
2
 
3
3
  describe Symbiont::Generators do
4
4
  let(:watir_browser) { mock_browser_for_watir }
5
- let(:selenium_browser) { mock_browser_for_selenium }
6
5
  let(:watir_definition) { DefinitionTest.new(watir_browser) }
7
- let(:selenium_definition) { DefinitionTest.new(selenium_browser) }
8
6
 
9
7
  describe "link web objects" do
10
8
  context "when declared in a definition" do
11
9
  it "should generate methods for referencing the link" do
12
10
  watir_definition.should respond_to(:reset_password_object)
13
11
  watir_definition.should respond_to(:reset_password_link)
12
+ end
14
13
 
15
- selenium_definition.should respond_to(:reset_password_object)
16
- selenium_definition.should respond_to(:reset_password_link)
14
+ it "should generate methods for interacting with the link" do
15
+ watir_definition.should respond_to(:reset_password)
16
+ watir_definition.should respond_to(:reset_password_text)
17
+ watir_definition.should respond_to(:reset_password_exists?)
18
+ watir_definition.should respond_to(:reset_password_visible?)
19
+ watir_definition.should respond_to(:reset_password?)
20
+ watir_definition.should respond_to(:reset_password_?)
17
21
  end
18
22
  end
19
23
 
@@ -25,24 +29,31 @@ describe Symbiont::Generators do
25
29
  web_object.should be_instance_of Symbiont::WebObjects::Link
26
30
  end
27
31
 
32
+ it "should return the text of the link" do
33
+ watir_browser.should_receive(:link).and_return(watir_browser)
34
+ watir_browser.should_receive(:text).and_return('Reset Password')
35
+ watir_definition.reset_password_text.should == "Reset Password"
36
+ end
37
+
28
38
  it "should click the link" do
29
39
  watir_browser.stub_chain(:link, :click)
30
40
  watir_definition.reset_password
31
41
  end
32
- end
33
42
 
34
- context "when used by the selenium platform" do
35
- it "should locate the link" do
36
- selenium_browser.should_receive(:find_element).and_return(selenium_browser)
37
- web_object = selenium_definition.reset_password_object
38
- web_object.should_not be_nil
39
- web_object.should be_instance_of Symbiont::WebObjects::Link
43
+ it "should determine if a link exists" do
44
+ watir_browser.should_receive(:link).twice.and_return(watir_browser)
45
+ watir_browser.should_receive(:exists?).twice.and_return(watir_browser)
46
+ watir_definition.reset_password_exists?.should be_true
47
+ watir_definition.reset_password?.should be_true
40
48
  end
41
-
42
- it "should click the link" do
43
- selenium_browser.stub_chain(:find_element, :click)
44
- selenium_definition.reset_password
49
+
50
+ it "should determine if a link is visible" do
51
+ watir_browser.should_receive(:link).twice.and_return(watir_browser)
52
+ watir_browser.should_receive(:visible?).twice.and_return(watir_browser)
53
+ watir_definition.reset_password_visible?.should be_true
54
+ watir_definition.reset_password_?.should be_true
45
55
  end
46
56
  end
57
+
47
58
  end
48
- end
59
+ end
@@ -2,18 +2,24 @@ require 'spec_helper'
2
2
 
3
3
  describe Symbiont::Generators do
4
4
  let(:watir_browser) { mock_browser_for_watir }
5
- let(:selenium_browser) { mock_browser_for_selenium }
6
5
  let(:watir_definition) { DefinitionTest.new(watir_browser) }
7
- let(:selenium_definition) { DefinitionTest.new(selenium_browser) }
8
6
 
9
7
  describe "text field web objects" do
10
8
  context "when declared in a definition" do
11
9
  it "should generate methods for referencing the text field" do
12
10
  watir_definition.should respond_to(:login_name_text_field)
13
11
  watir_definition.should respond_to(:login_name_object)
12
+ end
14
13
 
15
- selenium_definition.should respond_to(:login_name_text_field)
16
- selenium_definition.should respond_to(:login_name_object)
14
+ it "should generate methods for interacting with the link" do
15
+ watir_definition.should respond_to(:login_name)
16
+ watir_definition.should respond_to(:login_name_exists?)
17
+ watir_definition.should respond_to(:login_name_visible?)
18
+ watir_definition.should respond_to(:login_name_enabled?)
19
+ watir_definition.should respond_to(:login_name?)
20
+ watir_definition.should respond_to(:login_name_?)
21
+ watir_definition.should respond_to(:login_name!)
22
+ watir_definition.should respond_to(:login_name=)
17
23
  end
18
24
  end
19
25
 
@@ -36,28 +42,28 @@ describe Symbiont::Generators do
36
42
  watir_browser.should_receive(:set).with("testing")
37
43
  watir_definition.login_name = "testing"
38
44
  end
39
- end
40
45
 
41
- context "when used by the selenium platform" do
42
- it "should locate the text field" do
43
- selenium_browser.should_receive(:find_element).and_return(selenium_browser)
44
- web_object = selenium_definition.login_name_object
45
- web_object.should_not be_nil
46
- web_object.should be_instance_of Symbiont::WebObjects::TextField
46
+ it "should determine if a text field exists" do
47
+ watir_browser.should_receive(:text_field).twice.and_return(watir_browser)
48
+ watir_browser.should_receive(:exists?).twice.and_return(watir_browser)
49
+ watir_definition.login_name_exists?.should be_true
50
+ watir_definition.login_name?.should be_true
47
51
  end
48
-
49
- it "should retrieve text from the text field" do
50
- selenium_browser.should_receive(:find_element).and_return(selenium_browser)
51
- selenium_browser.should_receive(:attribute).with('value').and_return("testing")
52
- selenium_definition.login_name.should == "testing"
52
+
53
+ it "should determine if a text field is visible" do
54
+ watir_browser.should_receive(:text_field).twice.and_return(watir_browser)
55
+ watir_browser.should_receive(:visible?).twice.and_return(watir_browser)
56
+ watir_definition.login_name_visible?.should be_true
57
+ watir_definition.login_name_?.should be_true
53
58
  end
54
-
55
- it "should enter text into a text field" do
56
- selenium_browser.should_receive(:find_element).twice.and_return(selenium_browser)
57
- selenium_browser.should_receive(:clear)
58
- selenium_browser.should_receive(:send_keys).with("testing")
59
- selenium_definition.login_name = "testing"
59
+
60
+ it "should determine if a text field is enabled" do
61
+ watir_browser.should_receive(:text_field).twice.and_return(watir_browser)
62
+ watir_browser.should_receive(:enabled?).twice.and_return(watir_browser)
63
+ watir_definition.login_name_enabled?.should be_true
64
+ watir_definition.login_name!.should be_true
60
65
  end
61
66
  end
67
+
62
68
  end
63
- end
69
+ end
@@ -2,9 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe Symbiont::Generators do
4
4
  let(:watir_browser) { mock_browser_for_watir }
5
- let(:selenium_browser) { mock_browser_for_selenium }
6
5
  let(:watir_definition) { DefinitionTest.new(watir_browser) }
7
- let(:selenium_definition) { DefinitionTest.new(selenium_browser) }
8
6
 
9
7
  context "a definition using watir-webdriver" do
10
8
  describe "providing a url" do
@@ -18,22 +16,34 @@ describe Symbiont::Generators do
18
16
  watir_definition.start
19
17
  end
20
18
  end
21
- end
22
-
23
- context "a definition using selenium-webdriver" do
24
- describe "providing a url" do
25
- it "should navigate to the page when viewed" do
26
- selenium_browser.should_receive(:navigate).and_return(selenium_browser)
27
- selenium_browser.should_receive(:to)
28
- selenium_definition.view
19
+
20
+ describe "providing a page title" do
21
+ it "should specify and verify the page title" do
22
+ watir_browser.should_receive(:title).and_return("Title of Page")
23
+ watir_definition.should have_title
29
24
  end
30
-
31
- it "should navigate to the page when started" do
32
- selenium_browser.should_receive(:navigate).and_return(selenium_browser)
33
- selenium_browser.should_receive(:to)
34
- selenium_definition.start
25
+
26
+ it "should raise an error if the page title is not verified" do
27
+ watir_browser.should_receive(:title).twice.and_return("Incorrect Title")
28
+ expect { watir_definition.has_title? }.to raise_error
35
29
  end
36
30
  end
31
+
32
+ describe "providing a page object" do
33
+ it "should specify and verify an expected object" do
34
+ watir_definition.should_receive(:testPage_object).and_return(watir_browser)
35
+ watir_browser.should_receive(:when_actionable).with(5).and_return(watir_browser)
36
+ watir_definition.has_object?
37
+ end
38
+
39
+ it "should raise an error if the page object is not verified" do
40
+ class QuickDefinition
41
+ include Symbiont
42
+ look_for :fakeLink
43
+ end
44
+ QuickDefinition.new(watir_browser).should_not have_object
45
+ end
46
+ end
47
+
37
48
  end
38
-
39
- end
49
+ end
@@ -3,9 +3,7 @@ require 'spec_helper'
3
3
  describe Symbiont do
4
4
 
5
5
  let(:watir_browser) { mock_browser_for_watir }
6
- let(:selenium_browser) { mock_browser_for_selenium }
7
6
  let(:watir_definition) { DefinitionTest.new(watir_browser) }
8
- let(:selenium_definition) { DefinitionTest.new(selenium_browser) }
9
7
 
10
8
  context "a definition using watir-webdriver" do
11
9
  it "should return a watir platform object" do
@@ -13,16 +11,10 @@ describe Symbiont do
13
11
  end
14
12
  end
15
13
 
16
- context "a definition using selenium-webdriver" do
17
- it "should return a selenium platform object" do
18
- selenium_definition.platform.should be_kind_of Symbiont::Platforms::SeleniumWebDriver::PlatformObject
19
- end
20
- end
21
-
22
14
  context "an unrecognized browser" do
23
15
  it "should raise an exception" do
24
16
  expect { DefinitionTest.new(:unknown_browser) }.to raise_error
25
17
  end
26
18
  end
27
19
 
28
- end
20
+ end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Symbiont do
4
- it "returns version information" do
4
+ it "should return version information" do
5
5
  Symbiont.version.should == "Symbiont v#{Symbiont::VERSION}"
6
6
  end
7
- end
7
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Web Objects" do
4
+ let(:watir_browser) { mock_browser_for_watir }
5
+ let(:watir_definition) { ::Symbiont::WebObjects::WebObject.new(watir_browser) }
6
+
7
+ it "should return the text contained by a web object" do
8
+ watir_browser.should_receive(:text).and_return("testing")
9
+ watir_definition.text.should == "testing"
10
+ end
11
+
12
+ it "should wait for web object to be actionable" do
13
+ watir_browser.stub(:wait_until_present).with(5)
14
+ web_object = watir_definition.when_actionable(5)
15
+ web_object.should === watir_definition
16
+ end
17
+ end
data/symbiont.gemspec CHANGED
@@ -1,29 +1,27 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "symbiont/version"
2
+ require File.expand_path('../lib/symbiont/version', __FILE__)
4
3
 
5
- Gem::Specification.new do |s|
6
- s.name = "symbiont"
7
- s.version = Symbiont::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.license = "MIT"
10
- s.authors = ["Jeff Nyman"]
11
- s.email = ["jeffnyman@gmail.com"]
12
- s.homepage = "https://github.com/jnyman/symbiont"
13
- s.summary = %q{An endosymbiotic facultative library for web application testing.}
14
- s.description = %q{An endosymbiotic facultative library for web application testing.}
4
+ Gem::Specification.new do |gem|
5
+ gem.name = "symbiont"
6
+ gem.version = Symbiont::VERSION
7
+ gem.platform = Gem::Platform::RUBY
8
+ gem.license = "MIT"
9
+ gem.authors = ["Jeff Nyman"]
10
+ gem.email = ["jeffnyman@gmail.com"]
11
+ gem.homepage = "https://github.com/jnyman/symbiont"
12
+ gem.summary = %q{An endosymbiotic facultative library for web application testing.}
13
+ gem.description = %q{An endosymbiotic facultative library for web application testing.}
15
14
 
16
- s.required_ruby_version = '>= 1.9.2'
17
- s.rubyforge_project = "symbiont"
15
+ gem.required_ruby_version = '>= 1.9.2'
16
+ gem.rubyforge_project = "symbiont"
18
17
 
19
- s.files = `git ls-files`.split("\n")
20
- s.test_files = `git ls-files -- {test,spec,specs,features}/*`.split("\n")
21
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
- s.require_paths = ["lib"]
18
+ gem.files = `git ls-files`.split("\n")
19
+ gem.test_files = `git ls-files -- {test,spec,specs,features}/*`.split("\n")
20
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ gem.require_paths = ["lib"]
23
22
 
24
- s.add_development_dependency 'rspec', '>= 2.8.0'
25
- s.add_development_dependency 'simplecov', '>= 0.6.1'
23
+ gem.add_development_dependency 'rspec', '>= 2.9.0'
24
+ gem.add_development_dependency 'simplecov', '>= 0.6.1'
26
25
 
27
- s.add_runtime_dependency 'watir-webdriver', '0.5.3'
28
- s.add_runtime_dependency 'selenium-webdriver', '2.20.0'
26
+ gem.add_runtime_dependency 'watir-webdriver', '0.5.3'
29
27
  end
@@ -0,0 +1,158 @@
1
+ $LOAD_PATH.unshift(File.expand_path('../lib', File.dirname(__FILE__)))
2
+
3
+ require 'symbiont'
4
+ require 'symbiont/factory'
5
+
6
+ class LoginPage
7
+ include Symbiont
8
+
9
+ url_is "http://localhost:4567"
10
+ title_is "Login | Test App"
11
+ look_for(:testPage)
12
+
13
+ link :testPage, id: "testPage"
14
+ end
15
+
16
+ class LoggingIn
17
+ include Symbiont
18
+ begin_at "http://localhost:4567"
19
+
20
+ within_frame(id: "loginSection") do |frame|
21
+ text_field :clientCode, id: "clientCode", frame: frame
22
+ text_field :loginName, id: "loginName", frame: frame
23
+ text_field :loginPassword, id: "password", frame: frame
24
+ button :login, id: "btnSubmit", frame: frame
25
+ end
26
+ end
27
+
28
+ class TestPage
29
+ include Symbiont
30
+
31
+ begin_at "http://localhost:4567/test_page"
32
+ title_is "Test Page | Test App"
33
+
34
+ link :fake_link, id: "fakeLink"
35
+ button :clickme, id: "clickme_id"
36
+ button :fake_button, id: "fakeButton"
37
+ button :disabled_button, id: "cantclickme_id"
38
+ text_field :book_title, id: "title"
39
+ text_field :fake_text_field, id: "fakeTextField"
40
+ text_field :disabled_text_field, id: "pub_id"
41
+ end
42
+
43
+ @browser = Watir::Browser.new(:firefox)
44
+
45
+ puts "* Frame Tests"
46
+
47
+ action = LoggingIn.new(@browser)
48
+ action.start
49
+
50
+ clientCode = action.clientCode_object
51
+ puts "\t'Client Code' text field object is type: #{clientCode}"
52
+ puts "\t'Client Code' text field exists? #{action.clientCode_exists?}"
53
+ puts "\t'Client Code' text field visible? #{action.clientCode_visible?}"
54
+ puts "\t'Client Code' text field enabled? #{action.clientCode_enabled?}"
55
+ action.clientCode = "QA"
56
+ action.loginName = "jnyman"
57
+ action.loginPassword = "password"
58
+ loginName = action.loginName
59
+ puts "\t'Login Name' text field value is: #{loginName}"
60
+
61
+ login = action.login_object
62
+ puts "\t'Log In' text field object is type: #{login}"
63
+ puts "\t'Log In' text field exists? #{action.login_exists?}"
64
+ puts "\t'Log In' text field visible? #{action.login_visible?}"
65
+ puts "\t'Log In' text field enabled? #{action.login_enabled?}"
66
+ puts "\t'Log In' button object text is: #{action.login_text}"
67
+
68
+ action = LoginPage.new(@browser)
69
+ action.view
70
+ action.has_title?
71
+ action.has_object?
72
+
73
+ puts "* Link Tests"
74
+
75
+ puts "** Basic Text Link Tests"
76
+
77
+ puts "\t'Test Page' link object exists? #{action.testPage_exists?}"
78
+ puts "\t'Test Page' link object exists? #{action.testPage?}"
79
+ puts "\t'Test Page' link object visible? #{action.testPage_visible?}"
80
+ puts "\t'Test Page' link object visible? #{action.testPage_?}"
81
+ test_page = action.testPage_object
82
+ puts "\t'Test Page' link object is type: #{test_page}"
83
+ puts "\t'Test Page' link object text is: #{action.testPage_text}"
84
+ puts "\t'Test Page' link object text is: #{test_page.text}"
85
+
86
+ action.testPage
87
+ action = TestPage.new(@browser)
88
+
89
+ puts "** Fake Link Tests"
90
+
91
+ test_link = action.fake_link_object
92
+ puts "\tFake link object is type: #{test_link}"
93
+ puts "\tFake link exists? #{action.fake_link?}"
94
+
95
+ puts "* Text Field Tests"
96
+
97
+ puts "** Enabled Text Field Tests"
98
+
99
+ puts "\t'Book Title' text field object exists? #{action.book_title_exists?}"
100
+ puts "\t'Book Title' text field object exists? #{action.book_title?}"
101
+ puts "\t'Book Title' text field object visible? #{action.book_title_visible?}"
102
+ puts "\t'Book Title' text field object exists? #{action.book_title_?}"
103
+ puts "\t'Book Title' text field object enabled? #{action.book_title_enabled?}"
104
+ puts "\t'Book Title' text field object enabled? #{action.book_title!}"
105
+
106
+ bookTitle = action.book_title_object
107
+ puts "\t'Book Title' text field object is type: #{bookTitle}"
108
+ action.book_title = "Revelation Space"
109
+ book = action.book_title
110
+ puts "\t'Book Title' text field value is: '#{book}'"
111
+
112
+ puts "** Disabled Text Field Tests"
113
+
114
+ disabledTextField = action.disabled_text_field_object
115
+ puts "\tDisabled text field object is type: #{disabledTextField}"
116
+ puts "\tDisabled text field object exists? #{action.disabled_text_field?}"
117
+ puts "\tDisabled text field object visible? #{action.disabled_text_field_?}"
118
+ puts "\tDisabled text field object enabled? #{action.disabled_text_field!}"
119
+
120
+ puts "** Fake Text Field Tests"
121
+
122
+ fakeTextField = action.fake_text_field_object
123
+ puts "\tFake text field object is type: #{fakeTextField}"
124
+ puts "\tFake text field object exists? #{action.fake_text_field_exists?}"
125
+
126
+ puts "* Button Tests"
127
+
128
+ puts "** Enabled Button Tests"
129
+
130
+ puts "\t'Click Me' button object exists? #{action.clickme_exists?}"
131
+ puts "\t'Click Me' button object exists? #{action.clickme?}"
132
+ puts "\t'Click Me' button object visible? #{action.clickme_visible?}"
133
+ puts "\t'Click Me' button object exists? #{action.clickme_?}"
134
+ puts "\t'Click Me' button object enabled? #{action.clickme_enabled?}"
135
+ puts "\t'Click Me' button object enabled? #{action.clickme!}"
136
+ click_me = action.clickme_object
137
+ puts "\t'Click Me' button object is type: #{click_me}"
138
+ puts "\t'Click Me' button object text is: #{action.clickme_text}"
139
+ puts "\t'Click Me' button object text is: #{click_me.text}"
140
+
141
+ puts "** Disabled Button Tests"
142
+
143
+ cant_click_me = action.disabled_button_object
144
+ puts "\t'Can't Click Me' button object is type: #{cant_click_me}"
145
+ puts "\t'Can't Click Me' button object exists? #{action.disabled_button?}"
146
+ puts "\t'Can't Click Me' button object visible? #{action.disabled_button_?}"
147
+ puts "\t'Can't Click Me' button object enabled? #{action.disabled_button!}"
148
+ puts "\t'Can't Click Me' button object text is: #{action.disabled_button_text}"
149
+
150
+ puts "** Fake Button Tests"
151
+
152
+ fake_button = action.fake_button_object
153
+ puts "\tFake button object is type: #{fake_button}"
154
+ puts "\tFake button object exists? #{action.fake_button?}"
155
+
156
+ action.clickme
157
+
158
+ @browser.close
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: symbiont
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-15 00:00:00.000000000Z
12
+ date: 2012-04-11 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &27142536 !ruby/object:Gem::Requirement
16
+ requirement: &25978452 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.8.0
21
+ version: 2.9.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *27142536
24
+ version_requirements: *25978452
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: simplecov
27
- requirement: &27142260 !ruby/object:Gem::Requirement
27
+ requirement: &25978140 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.6.1
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *27142260
35
+ version_requirements: *25978140
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: watir-webdriver
38
- requirement: &27141972 !ruby/object:Gem::Requirement
38
+ requirement: &25977696 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - =
@@ -43,18 +43,7 @@ dependencies:
43
43
  version: 0.5.3
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *27141972
47
- - !ruby/object:Gem::Dependency
48
- name: selenium-webdriver
49
- requirement: &27141684 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - =
53
- - !ruby/object:Gem::Version
54
- version: 2.20.0
55
- type: :runtime
56
- prerelease: false
57
- version_requirements: *27141684
46
+ version_requirements: *25977696
58
47
  description: An endosymbiotic facultative library for web application testing.
59
48
  email:
60
49
  - jeffnyman@gmail.com
@@ -69,9 +58,10 @@ files:
69
58
  - README.md
70
59
  - Rakefile
71
60
  - lib/symbiont.rb
61
+ - lib/symbiont/enclosers.rb
62
+ - lib/symbiont/factory.rb
72
63
  - lib/symbiont/generators.rb
73
- - lib/symbiont/platform_selenium.rb
74
- - lib/symbiont/platform_selenium/platform_object.rb
64
+ - lib/symbiont/logger.rb
75
65
  - lib/symbiont/platform_watir.rb
76
66
  - lib/symbiont/platform_watir/platform_object.rb
77
67
  - lib/symbiont/platforms.rb
@@ -81,16 +71,17 @@ files:
81
71
  - lib/symbiont/web_objects/link.rb
82
72
  - lib/symbiont/web_objects/text_field.rb
83
73
  - spec/spec_helper.rb
74
+ - spec/symbiont/enclosers_spec.rb
75
+ - spec/symbiont/factory_spec.rb
84
76
  - spec/symbiont/generators/button_generators_spec.rb
85
77
  - spec/symbiont/generators/link_generators_spec.rb
86
78
  - spec/symbiont/generators/text_field_generators_spec.rb
87
79
  - spec/symbiont/generators_spec.rb
88
80
  - spec/symbiont/platform_object_spec.rb
89
81
  - spec/symbiont/symbiont_spec.rb
82
+ - spec/symbiont/web_object_spec.rb
90
83
  - symbiont.gemspec
91
- - test/base.rb
92
- - test/symbiont_selenium.rb
93
- - test/symbiont_watir.rb
84
+ - test/symbiont_test.rb
94
85
  homepage: https://github.com/jnyman/symbiont
95
86
  licenses:
96
87
  - MIT