magnesium 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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