symbiont 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +16 -5
- data/HISTORY.md +6 -0
- data/README.md +23 -1
- data/Rakefile +1 -0
- data/lib/symbiont/enclosers.rb +26 -0
- data/lib/symbiont/factory.rb +33 -0
- data/lib/symbiont/generators.rb +106 -4
- data/lib/symbiont/logger.rb +5 -0
- data/lib/symbiont/platform_watir/platform_object.rb +114 -13
- data/lib/symbiont/platforms.rb +1 -5
- data/lib/symbiont/version.rb +1 -1
- data/lib/symbiont/web_objects/_common.rb +13 -2
- data/lib/symbiont.rb +10 -5
- data/spec/spec_helper.rb +8 -9
- data/spec/symbiont/enclosers_spec.rb +16 -0
- data/spec/symbiont/factory_spec.rb +35 -0
- data/spec/symbiont/generators/button_generators_spec.rb +37 -18
- data/spec/symbiont/generators/link_generators_spec.rb +27 -16
- data/spec/symbiont/generators/text_field_generators_spec.rb +29 -23
- data/spec/symbiont/generators_spec.rb +27 -17
- data/spec/symbiont/platform_object_spec.rb +1 -9
- data/spec/symbiont/symbiont_spec.rb +2 -2
- data/spec/symbiont/web_object_spec.rb +17 -0
- data/symbiont.gemspec +20 -22
- data/test/symbiont_test.rb +158 -0
- metadata +16 -25
- data/lib/symbiont/platform_selenium/platform_object.rb +0 -71
- data/lib/symbiont/platform_selenium.rb +0 -9
- data/test/base.rb +0 -17
- data/test/symbiont_selenium.rb +0 -35
- data/test/symbiont_watir.rb +0 -35
@@ -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
|
-
|
16
|
-
|
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
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
44
|
-
|
45
|
-
|
46
|
-
|
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
|
-
|
16
|
-
|
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
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
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
|
43
|
-
|
44
|
-
|
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
|
-
|
16
|
-
|
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
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
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
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
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
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
32
|
-
|
33
|
-
|
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
|
@@ -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
|
-
|
3
|
-
require "symbiont/version"
|
2
|
+
require File.expand_path('../lib/symbiont/version', __FILE__)
|
4
3
|
|
5
|
-
Gem::Specification.new do |
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
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
|
-
|
17
|
-
|
15
|
+
gem.required_ruby_version = '>= 1.9.2'
|
16
|
+
gem.rubyforge_project = "symbiont"
|
18
17
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
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
|
-
|
25
|
-
|
23
|
+
gem.add_development_dependency 'rspec', '>= 2.9.0'
|
24
|
+
gem.add_development_dependency 'simplecov', '>= 0.6.1'
|
26
25
|
|
27
|
-
|
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.
|
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-
|
12
|
+
date: 2012-04-11 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
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.
|
21
|
+
version: 2.9.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *25978452
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: simplecov
|
27
|
-
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: *
|
35
|
+
version_requirements: *25978140
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: watir-webdriver
|
38
|
-
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: *
|
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/
|
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/
|
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
|