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 Radio
12
+ attr_accessor :box
13
+ attr_accessor :browser
14
+
15
+ def element(locate,value)
16
+ begin
17
+ if locate == 'id'
18
+ @e = @browser.radio(:id => value.to_s)
19
+ elsif locate == 'name'
20
+ @e = @browser.radio(:name => value.to_s)
21
+ elsif locate == 'index'
22
+ @e = @browser.radio(:index => value.to_i)
23
+ else
24
+ # nonfun
25
+ puts 'M: I need time to grow up.'
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
38
+ elsif Config.config["wait"]["isstart"] == "false"
39
+ return @e.set
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 'M: I need time to grow up.'
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,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 SelectList
12
+ attr_accessor :box
13
+ attr_accessor :browser
14
+
15
+ def element(locate,value)
16
+ begin
17
+ if locate == 'id'
18
+ @e = @browser.select_list(:id => value.to_s)
19
+ elsif locate == 'name'
20
+ @e = @browser.select_list(:name => value.to_s)
21
+ elsif locate == 'index'
22
+ @e = @browser.select_list(:index => value.to_i)
23
+ else
24
+ # nonfun
25
+ puts 'M: I need time to grow up.'
26
+ end
27
+ # rescue
28
+ # error
29
+ #ensure
30
+ end
31
+ end
32
+
33
+ def execute(action,data)
34
+ begin
35
+ if action == 'select'
36
+ if Config.config["wait"]["isstart"] == "true"
37
+ return @e.when_present(Config.config["wait"]["value"].to_i).select data.to_s
38
+ elsif Config.config["wait"]["isstart"] == "false"
39
+ return @e.select 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"]).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 'M: I need time to grow up.'
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,116 @@
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("../table", __FILE__)
6
+ #require File.expand_path("../../support/error",__FILE__)
7
+ #require File.expand_path("../../support/config",__FILE__)
8
+
9
+ module Magnesium
10
+ class Span
11
+ attr_accessor :box
12
+ attr_accessor :browser
13
+
14
+ def self.dealspan(browser,locate,value)
15
+ begin
16
+ if locate == 'id'
17
+ return browser.span(:id => value.to_s)
18
+ elsif locate == 'name'
19
+ return browser.span(:name => value.to_s)
20
+ elsif locate == 'index'
21
+ return browser.span(:index => value.to_i)
22
+ else
23
+ puts 'M: I need time to grow up.'
24
+ end
25
+ rescue
26
+ # error
27
+ puts '...'
28
+ #ensure
29
+ end
30
+ end
31
+
32
+ def element(locate,value)
33
+ begin
34
+ if locate == 'id'
35
+ @e = @browser.span(:id => value.to_s)
36
+ elsif locate == 'name'
37
+ @e = @browser.span(:name => value.to_s)
38
+ elsif locate == 'index'
39
+ @e = @browser.span(:index => value.to_s)
40
+ end
41
+ rescue
42
+ # error
43
+ puts '...'
44
+ #ensure
45
+ end
46
+ end
47
+
48
+ def execute(action,data)
49
+ begin
50
+ if action == 'send_keys'
51
+ if Config.config["wait"]["isstart"] == "true"
52
+ return @e.when_present(Config.config["wait"]["value"].to_i).send_keys data.to_s
53
+ elsif Config.config["wait"]["isstart"] == "false"
54
+ return @e.send_keys data.to_s
55
+ else
56
+ # error
57
+ puts '...'
58
+ end
59
+ elsif action == 'exists'
60
+ if Config.config["wait"]["isstart"] == "true"
61
+ return @e.when_present(Config.config["wait"]["value"].to_i).exists?
62
+ elsif Config.config["wait"]["isstart"] == "false"
63
+ return @e.exists?
64
+ else
65
+ error
66
+ end
67
+ elsif action == 'wait_until_present'
68
+ return @e.wait_until_present
69
+ elsif action == 'wait_while_present'
70
+ return @e.wait_while_present
71
+ else
72
+ puts 'M: I am sorry about the error.'
73
+ # error
74
+ end
75
+ #rescue
76
+ # error
77
+ #ensure
78
+ end
79
+ end
80
+ =begin
81
+ def setbrowser(browser)
82
+ @browser = browser
83
+ end
84
+
85
+ def getbrowser()
86
+ return @browser
87
+ end
88
+
89
+ def setbox(box)
90
+ @box = box
91
+ end
92
+
93
+ def getbox()
94
+ return @box
95
+ end
96
+ =end
97
+
98
+ def generate()
99
+ unless @box.empty?
100
+ @box.collect do |f|
101
+ if f["name"] == 'frame'
102
+ @browser = Frame.dealframe(@browser,f["locate",],f["value"])
103
+ elsif f["name"] == 'div'
104
+ @browser = Div.dealdiv(@browser,f["locate"],f["value"])
105
+ elsif f["name"] == 'span'
106
+ @browser = Span.dealspan(@browser,f["locate"],f["value"])
107
+ elsif f["name"] == 'table'
108
+ @browser = Table.dealtable(@browser,f["locate"],f["value"])
109
+ else
110
+ puts '...'
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,121 @@
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("../table", __FILE__)
6
+ #require File.expand_path("../../support/error", __FILE__)
7
+ #require File.expand_path("../../support/config", __FILE__)
8
+
9
+ module Magnesium
10
+ class Table
11
+ attr_accessor :box
12
+ attr_accessor :browser
13
+
14
+ def self.dealtable(browser,locate,value)
15
+ begin
16
+ if locate == 'id'
17
+ return browser.table(:id => value.to_s)
18
+ elsif locate == 'name'
19
+ return browser.table(:name => value.to_s)
20
+ elsif locate == 'index'
21
+ return browser.table(: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.table(:id => value.to_s)
36
+ elsif locate == 'name'
37
+ @e = @browser.table(:name => value.to_s)
38
+ elsif locate == 'index'
39
+ @e = @browser.table(: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,109 @@
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 Text
12
+ attr_accessor :box
13
+ attr_accessor :browser
14
+
15
+ def element(locate,value)
16
+ @e = @browser.text
17
+ =begin
18
+ begin
19
+ if locate == 'id'
20
+ @e = @browser.button(:id => value.to_s)
21
+ elsif locate == 'name'
22
+ @e = @browser.button(:name => value.to_s)
23
+ elsif locate == 'index'
24
+ @e = @browser.button(:index => value.to_i)
25
+ elsif locate == 'text'
26
+ @e = @browser.button(:text => value.to_s)
27
+ else
28
+ nonfun
29
+ #puts 'M: I need time to grow up.'
30
+ end
31
+ rescue
32
+ error
33
+ #ensure
34
+ end
35
+ =end
36
+ end
37
+
38
+ def execute(action,data)
39
+ begin
40
+ if action == 'include'
41
+ if Config.config["wait"]["isstart"] == "true"
42
+ return @e.when_present(Config.config["wait"]["value"].to_i).include? data.to_s
43
+ elsif Config.config["wait"]["isstart"] == "false"
44
+ return @e.include? data.to_s
45
+ else
46
+ puts '...'
47
+ #error
48
+ end
49
+ elsif action == 'exists'
50
+ if Config.config["wait"]["isstart"] == "true"
51
+ return @e.when_present(Config.config["wait"]["value"].to_i).exists?
52
+ elsif Config.config["wait"]["isstart"] == "false"
53
+ return @e.exists?
54
+ else
55
+ #error
56
+ puts '...'
57
+ end
58
+ elsif action == 'wait_until_present'
59
+ return @e.wait_until_present
60
+ elsif action == 'wait_while_present'
61
+ return @e.wait_while_present
62
+ else
63
+ puts '...'
64
+ #nonfun
65
+ #puts 'M: I need time to grow up.'
66
+ end
67
+ rescue
68
+ #error
69
+ puts '...'
70
+ #ensure
71
+ end
72
+ end
73
+ =begin
74
+ def setbox(box)
75
+ @box = box
76
+ end
77
+
78
+ def getbox()
79
+ return @box
80
+ end
81
+
82
+ def setbrowser(browser)
83
+ @browser = browser
84
+ end
85
+
86
+ def getbrowser()
87
+ return @browser
88
+ end
89
+ =end
90
+ def generate()
91
+ unless @box.empty?
92
+ @box.collect do |f|
93
+ if f["name"] == 'frame'
94
+ @browser = dealframe(@browser,f["locate"],f["value"])
95
+ elsif f["name"] == 'div'
96
+ @browser = dealdiv(@browser,f["locate"],f["value"])
97
+ elsif f["name"] == 'span'
98
+ @browser = dealspan(@browser,f["locate"],f["value"])
99
+ elsif f["name"] == 'table'
100
+ @browser = dealtable(@browser,f["locate"],f["value"])
101
+ else
102
+ # nonfun
103
+ puts 'M: I need time t grow up.'
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end