magnesium 0.0.1

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.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +11 -0
  3. data/Gemfile.lock +52 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +1 -0
  7. data/lib/magnesium.rb +62 -0
  8. data/lib/magnesium/config.xml +16 -0
  9. data/lib/magnesium/elements/alert.rb +134 -0
  10. data/lib/magnesium/elements/browser.rb +29 -0
  11. data/lib/magnesium/elements/button.rb +104 -0
  12. data/lib/magnesium/elements/checkbox.rb +103 -0
  13. data/lib/magnesium/elements/div.rb +120 -0
  14. data/lib/magnesium/elements/frame.rb +121 -0
  15. data/lib/magnesium/elements/link.rb +105 -0
  16. data/lib/magnesium/elements/radio.rb +103 -0
  17. data/lib/magnesium/elements/select_list.rb +103 -0
  18. data/lib/magnesium/elements/span.rb +116 -0
  19. data/lib/magnesium/elements/table.rb +121 -0
  20. data/lib/magnesium/elements/text.rb +109 -0
  21. data/lib/magnesium/elements/text_field.rb +109 -0
  22. data/lib/magnesium/extensions/assert.rb +2 -0
  23. data/lib/magnesium/extensions/feedback.rb +25 -0
  24. data/lib/magnesium/extensions/http.rb +48 -0
  25. data/lib/magnesium/extensions/mail.rb +26 -0
  26. data/lib/magnesium/extensions/scheduler.rb +32 -0
  27. data/lib/magnesium/extensions/ssh.rb +53 -0
  28. data/lib/magnesium/extensions/webservice.rb +0 -0
  29. data/lib/magnesium/factor/test_case.rb +124 -0
  30. data/lib/magnesium/factor/test_data.rb +32 -0
  31. data/lib/magnesium/factor/test_result.rb +84 -0
  32. data/lib/magnesium/factor/test_site.rb +23 -0
  33. data/lib/magnesium/factor/test_step.rb +31 -0
  34. data/lib/magnesium/factor/test_ui.rb +55 -0
  35. data/lib/magnesium/support/config.rb +361 -0
  36. data/lib/magnesium/support/container.rb +18 -0
  37. data/lib/magnesium/support/data.rb +11 -0
  38. data/lib/magnesium/support/error.rb +16 -0
  39. data/lib/magnesium/support/factory.rb +43 -0
  40. data/lib/magnesium/support/log.rb +3 -0
  41. data/lib/magnesium/support/testlink.rb +270 -0
  42. data/lib/magnesium/support/xml.rb +73 -0
  43. data/lib/magnesium/version.rb +3 -0
  44. data/magnesium.gemspec +24 -0
  45. data/spec/runspec.rb +0 -0
  46. data/template.yml +57 -0
  47. metadata +134 -0
@@ -0,0 +1,103 @@
1
+ # encoding: utf-8
2
+ require 'watir-webdriver'
3
+ require File.expand_path("../frame", __FILE__)
4
+ require File.expand_path("../div", __FILE__)
5
+ require File.expand_path("../span", __FILE__)
6
+ require File.expand_path("../table", __FILE__)
7
+ #require File.expand_path("../../support/error", __FILE__)
8
+ #require File.expand_path("../../support/config", __FILE__)
9
+
10
+ module Magnesium
11
+ class CheckBox
12
+ attr_accessor :box
13
+ attr_accessor :browser
14
+
15
+ def element(locate,value)
16
+ begin
17
+ if locate == 'id'
18
+ @e = @browser.checkbox(:id => value.to_s)
19
+ elsif locate == 'name'
20
+ @e = @browser.checkbox(:name => value.to_s)
21
+ elsif locate == 'index'
22
+ @e = @browser.checkbox(:index => value.to_i)
23
+ else
24
+ # nonfun
25
+ puts '...'
26
+ end
27
+ #rescue
28
+ # error
29
+ #ensure
30
+ end
31
+ end
32
+
33
+ def execute(action,data)
34
+ begin
35
+ if action == 'set'
36
+ if Config.config["wait"]["isstart"] == "true"
37
+ return @e.when_present(Config.config["wait"]["value"].to_i).set data.to_s
38
+ elsif Config.config["wait"]["isstart"] == "false"
39
+ return @e.set data.to_s
40
+ else
41
+ # error
42
+ puts '...'
43
+ end
44
+ elsif action == 'exists'
45
+ if Config.config["wait"]["isstart"] == "true"
46
+ return @e.when_present(Config.config["wait"]["value"].to_i).exists?
47
+ elsif Config.config["wait"]["isstart"] == "false"
48
+ return @e.exists?
49
+ else
50
+ # error
51
+ puts '...'
52
+ end
53
+ elsif action == 'wait_until_present'
54
+ return @e.wait_until_present
55
+ elsif action == 'wait_while_present'
56
+ return @e.wait_while_present
57
+ else
58
+ # nonfun
59
+ puts '...'
60
+ end
61
+ #rescue
62
+ # error
63
+ #ensure
64
+ end
65
+ end
66
+ =begin
67
+ def setbox(box)
68
+ @box = box
69
+ end
70
+
71
+ def getbox()
72
+ return @box
73
+ end
74
+
75
+
76
+ def setbrowser(browser)
77
+ @browser = browser
78
+ end
79
+
80
+ def getbrowser()
81
+ return @browser
82
+ end
83
+ =end
84
+ def generate()
85
+ unless @box.empty?
86
+ @box.collect do |f|
87
+ if f["name"] == 'frame'
88
+ @browser = Frame.dealframe(@browser,f["locate",],f["value"])
89
+ elsif f["name"] == 'div'
90
+ @browser = Div.dealdiv(@browser,f["locate"],f["value"])
91
+ elsif f["name"] == 'span'
92
+ @browser = Span.dealspan(@browser,f["locate"],f["value"])
93
+ elsif f["name"] == 'table'
94
+ @browser = Table.dealtable(@browser,f["locate"],f["value"])
95
+ else
96
+ # nonfun
97
+ puts '...'
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,120 @@
1
+ # encoding: utf-8
2
+ require 'watir-webdriver'
3
+ require File.expand_path("../frame", __FILE__)
4
+ require File.expand_path("../table", __FILE__)
5
+ require File.expand_path("../span", __FILE__)
6
+ #require File.expand_path("../../support/error", __FILE__)
7
+ #require File.expand_path("../../support/config", __FILE__)
8
+
9
+ module Magnesium
10
+ class Div
11
+ attr_accessor :box
12
+ attr_accessor :browser
13
+
14
+ def self.dealdiv(browser,locate,value)
15
+ begin
16
+ if locate == 'id'
17
+ return browser.div(:id => value.to_s)
18
+ elsif locate == 'name'
19
+ return browser.div(:name => value.to_s)
20
+ elsif locate == 'index'
21
+ return browser.div(:index => value.to_i)
22
+ else
23
+ #nonfun
24
+ puts 'M: I need time to grow up.'
25
+ end
26
+ #rescue
27
+ # error
28
+ #ensure
29
+ end
30
+ end
31
+
32
+ def element(locate,value)
33
+ begin
34
+ if locate == 'id'
35
+ @e = @browser.div(:id => value.to_s)
36
+ elsif locate == 'name'
37
+ @e = @browser.div(:name => value.to_s)
38
+ elsif locate == 'index'
39
+ @e = @browser.div(:index => value.to_s)
40
+ else
41
+ # nonfun
42
+ puts '...'
43
+ end
44
+ #rescue
45
+ #error
46
+ #ensure
47
+ end
48
+ end
49
+
50
+ def execute(action,data)
51
+ begin
52
+ if action == 'send_keys'
53
+ if Config.config["wait"]["isstart"] == "true"
54
+ return @e.when_present(Config.config["wait"]["isstart"].to_i).send_keys data.to_s
55
+ elsif Config.config["wait"]["isstart"] = "false"
56
+ return @e.send_keys data.to_s
57
+ else
58
+ #error
59
+ puts '...'
60
+ end
61
+ elsif action == 'exists'
62
+ if Config.config["wait"]["isstart"] == "true"
63
+ return @e.when_present(Config.config["wait"]["isstart"].to_i).exists?
64
+ elsif Config.config["wait"]["isstart"] = "false"
65
+ return @e.exists?
66
+ else
67
+ #error
68
+ puts '...'
69
+ end
70
+ elsif action == 'wait_until_present'
71
+ return @e.wait_until_present
72
+ elsif action == 'wait_while_present'
73
+ return @e.wait_while_present
74
+ else
75
+ # error
76
+ puts 'M: I am sorry about the error.'
77
+ end
78
+ #rescue
79
+ # error
80
+ #ensure
81
+ end
82
+ end
83
+ =begin
84
+ def setbrowser(browser)
85
+ @browser = browser
86
+ end
87
+
88
+ def getbrowser()
89
+ return @browser
90
+ end
91
+
92
+ def setbox(box)
93
+ @box = box
94
+ end
95
+
96
+ def getbox()
97
+ return @box
98
+ end
99
+ =end
100
+
101
+ def generate()
102
+ unless @box.empty?
103
+ @box.collect do |f|
104
+ if f["name"] == 'frame'
105
+ @browser = Frame.dealframe(@browser,f["locate",],f["value"])
106
+ elsif f["name"] == 'div'
107
+ @browser = Div.dealdiv(@browser,f["locate"],f["value"])
108
+ elsif f["name"] == 'span'
109
+ @browser = Span.dealspan(@browser,f["locate"],f["value"])
110
+ elsif f["name"] == 'table'
111
+ @browser = Table.dealtable(@browser,f["locate"],f["value"])
112
+ else
113
+ #nonfun
114
+ puts '...'
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,121 @@
1
+ # encoding: utf-8
2
+ require 'watir-webdriver'
3
+ require File.expand_path("../span", __FILE__)
4
+ require File.expand_path("../div", __FILE__)
5
+ require File.expand_path("../table", __FILE__)
6
+ #require File.expand_path("../../support/error", __FILE__)
7
+ #require File.expand_path("../../support/config", __FILE__)
8
+
9
+ module Magnesium
10
+ class Frame
11
+ attr_accessor :box
12
+ attr_accessor :browser
13
+
14
+ def self.dealframe(browser,locate,value)
15
+ begin
16
+ if locate == 'id'
17
+ return browser.frame(:id => value.to_s)
18
+ elsif locate == 'name'
19
+ return browser.frame(:name => value.to_s)
20
+ elsif locate == 'index'
21
+ return browser.frame(:index => value.to_i)
22
+ else
23
+ #nonfun
24
+ puts '...'
25
+ end
26
+ #rescue
27
+ # error
28
+ #ensure
29
+ end
30
+ end
31
+
32
+ def element(locate,value)
33
+ begin
34
+ if locate == 'id'
35
+ @e = @browser.frame(:id => value.to_s)
36
+ elsif locate == 'name'
37
+ @e = @browser.frame(:name => value.to_s)
38
+ elsif locate == 'index'
39
+ @e = @browser.frame(:index => value.to_s)
40
+ else
41
+ # nonfun
42
+ puts '...'
43
+ end
44
+ # rescue
45
+ # error
46
+ #ensure
47
+ end
48
+ end
49
+
50
+ def execute(action,data)
51
+ begin
52
+ if action == 'send_keys'
53
+ if Config.config["wait"]["isstart"] == "true"
54
+ return @e.when_present(Config.config["wait"]["value"].to_i).send_keys data.to_s
55
+ elsif Config.config["wait"]["isstart"] == "false"
56
+ return @e.send_keys data.to_s
57
+ else
58
+ # error
59
+ puts '...'
60
+ end
61
+ elsif action == 'exists'
62
+ if Config.config["wait"]["isstart"] == "true"
63
+ return @e.when_present(Config.config["wait"]["value"].to_i).exists?
64
+ elsif Config.config["wait"]["isstart"] == "false"
65
+ return @e.exists?
66
+ else
67
+ #error
68
+ puts '...'
69
+ end
70
+ elsif action == 'wait_until_present'
71
+ return @e.wait_until_present
72
+ elsif action == 'wait_while_present'
73
+ return @e.wait_while_present
74
+ else
75
+ #error
76
+ puts '...'
77
+ #puts 'M: I am sorry about the error.'
78
+ end
79
+ # rescue
80
+ # error
81
+ #ensure
82
+ end
83
+ end
84
+ =begin
85
+ def setbrowser(browser)
86
+ @browser = browser
87
+ end
88
+
89
+ def getbrowser()
90
+ return @browser
91
+ end
92
+
93
+ def setbox(box)
94
+ @box = box
95
+ end
96
+
97
+ def getbox()
98
+ return @box
99
+ end
100
+ =end
101
+
102
+ def generate()
103
+ unless @box.empty?
104
+ @box.collect do |f|
105
+ if f["name"] == 'frame'
106
+ @browser = Frame.dealframe(@browser,f["locate",],f["value"])
107
+ elsif f["name"] == 'div'
108
+ @browser = Div.dealdiv(@browser,f["locate"],f["value"])
109
+ elsif f["name"] == 'span'
110
+ @browser = Span.dealspan(@browser,f["locate"],f["value"])
111
+ elsif f["name"] == 'table'
112
+ @browser = Table.dealtable(@browser,f["locate"],f["value"])
113
+ else
114
+ # nonfun
115
+ puts '...'
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,105 @@
1
+ # encoding: utf-8
2
+ require 'watir-webdriver'
3
+ require File.expand_path("../frame", __FILE__)
4
+ require File.expand_path("../div", __FILE__)
5
+ require File.expand_path("../span", __FILE__)
6
+ require File.expand_path("../table", __FILE__)
7
+ #require File.expand_path("../../support/error", __FILE__)
8
+ #require File.expand_path("../../support/config",__FILE__)
9
+
10
+ module Magnesium
11
+ class Link
12
+ attr_accessor :box
13
+ attr_accessor :browser
14
+
15
+ def element(locate,value)
16
+ begin
17
+ if locate == 'id'
18
+ @e = @browser.link(:id => value.to_s)
19
+ elsif locate == 'name'
20
+ @e = @browser.link(:name => value.to_s)
21
+ elsif locate == 'index'
22
+ @e = @browser.link(:index => value.to_i)
23
+ elsif locate == 'text'
24
+ @e = @browser.link(:text => value.to_s)
25
+ else
26
+ # nonfun
27
+ puts 'M: I need time to grow up.'
28
+ end
29
+ #rescue
30
+ # error
31
+ #ensure
32
+ end
33
+ end
34
+
35
+ def execute(action,data)
36
+ begin
37
+ if action == 'click'
38
+ if Config.config["wait"]["isstart"] == "true"
39
+ return @e.when_present(Config.config["wait"]["value"].to_i).click
40
+ elsif Config.config["wait"]["isstart"] == "false"
41
+ return @e.click
42
+ else
43
+ # error
44
+ puts '...'
45
+ end
46
+ elsif action == 'exists'
47
+ if Config.config["wait"]["isstart"] == "true"
48
+ return @e.when_present(Config.config["wait"]["value"].to_i).exists?
49
+ elsif Config.config["wait"]["isstart"] == "false"
50
+ return @e.exists?
51
+ else
52
+ #error
53
+ puts '...'
54
+ end
55
+ elsif action == 'wait_until_present'
56
+ return @e.wait_until_present
57
+ elsif action == 'wait_while_present'
58
+ return @e.wait_while_present
59
+ else
60
+ #nonfun
61
+ puts 'M: I need time to grow up.'
62
+ end
63
+ #rescue
64
+ # error
65
+ #ensure
66
+ end
67
+ end
68
+ =begin
69
+ def setbox(box)
70
+ @box = box
71
+ end
72
+
73
+ def getbox()
74
+ return @box
75
+ end
76
+
77
+
78
+ def setbrowser(browser)
79
+ @browser = browser
80
+ end
81
+
82
+ def getbrowser()
83
+ return @browser
84
+ end
85
+ =end
86
+ def generate()
87
+ unless @box.empty?
88
+ @box.collect do |f|
89
+ if f["name"] == 'frame'
90
+ @browser = Frame.dealframe(@browser,f["locate",],f["value"])
91
+ elsif f["name"] == 'div'
92
+ @browser = Div.dealdiv(@browser,f["locate"],f["value"])
93
+ elsif f["name"] == 'span'
94
+ @browser = Span.dealspan(@browser,f["locate"],f["value"])
95
+ elsif f["name"] == 'table'
96
+ @browser = Table.dealtable(@browser,f["locate"],f["value"])
97
+ else
98
+ # nonfun
99
+ puts '...'
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end