zqframeworkOH 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,22 @@
1
+ =begin
2
+ Author: Gauang
3
+ Contains the setup, TearDown and Cleanup methods
4
+ =end
5
+
6
+ module BaseClassInstanceMethods
7
+
8
+ #Called automatically before each and every test
9
+ def setup
10
+ #p "setup"
11
+ end
12
+
13
+ #called Automatically after each and every test
14
+ def teardown
15
+ #p "teardown"
16
+ end
17
+
18
+ #called Automatically after each and every test but before teardown is called.
19
+ def cleanup
20
+ #p "cleanup"
21
+ end
22
+ end
@@ -0,0 +1,52 @@
1
+ =begin
2
+ Author: Gaurang
3
+ Contains the Statup and Shutdown method
4
+ =end
5
+ require "#{File.dirname(__FILE__)}/UtilityMethods"
6
+
7
+ include UtilityMethods
8
+ module BaseClassMethods
9
+
10
+ #Called before first test method called of the class
11
+ def browstart(url)
12
+ #p "startup called"
13
+ @brow = readData("Browser","browserName")
14
+ if (@brow.downcase == 'firefox')
15
+ fireBrow(@brow)
16
+ elsif (@brow == 'ie')
17
+ ieBrow(@brow)
18
+ end
19
+ #navigate to the URL
20
+ #@url = readData("Browser","url")
21
+ safeLoadLink(60) {$browser.goto url}
22
+ $browser.wait
23
+ end
24
+
25
+ #Called after the last test method of the class called.
26
+ def shutdown
27
+ #p "shutdown called"
28
+ begin
29
+ $browser.close()
30
+ rescue JsshSocket::JSReferenceError
31
+ p "error occured at shutdown"
32
+ sleep(10)
33
+ end
34
+
35
+ end
36
+
37
+ def fireBrow(browser)
38
+ $browser = Watir::Browser.new :firefox
39
+ screen_width = $browser.execute_script("return screen.width;")
40
+ screen_height = $browser.execute_script("return screen.height;")
41
+ $browser.driver.manage.window.resize_to(screen_width,screen_height)
42
+ $browser.driver.manage.window.move_to(0,0)
43
+ return $browser
44
+ end
45
+
46
+ def ieBrow(browser)
47
+ $browser = Watir::Browser.new
48
+ $browser.maximize
49
+ return $browser
50
+ end
51
+ end
52
+
@@ -0,0 +1,92 @@
1
+ require 'win32ole'
2
+
3
+ =begin
4
+ Purpose: Class to read Excel file given the column name and scenario name
5
+ Author: Gaurang Shah
6
+ =end
7
+
8
+ class Excel
9
+
10
+ @@map = Array["a","b","c","d","e","f","g","h","i","j","k","l","m","o","p","q","r","s","t","u","v","w","x","y","z"]
11
+ #provide the path of the EXCEL file.. i.e. c:/demo.xls
12
+ #Provide the worksheet number if you have multiple worksheets
13
+ #If you will not provide the worksheet number by default it will take 1
14
+ def initialize(path, workSheetNumber=1)
15
+ @path=path
16
+ @workSheetNumber=workSheetNumber
17
+ end
18
+
19
+ def openExcel
20
+ @excel = WIN32OLE::new("excel.Application")
21
+ @workbook = @excel.Workbooks.Open(File.expand_path(File.dirname(__FILE__))+"/../Data/#{@path}")
22
+
23
+ @worksheet = @workbook.WorkSheets(@workSheetNumber)
24
+ # just to make sure macros are executed, if your sheet doesn't have macros you can skip this step.
25
+ @worksheet.Select
26
+ end #end openExcel
27
+
28
+ #Returns the EXCEL cell value based on provided ScenarioName and columnName
29
+ def getValue(scenarioName,columnName)
30
+
31
+ openExcel()
32
+
33
+ # Get the first column, Contains scenarion Names
34
+ column = @worksheet.range("a1:a100").Value
35
+ index=0
36
+ while(!column[index].to_s.eql?("[nil]")) do
37
+ index = index+1
38
+ end #while loop ends
39
+
40
+
41
+ @scenarios = Array.new(index)
42
+ for i in(0...index)do
43
+ @scenarios[i] = column[i]
44
+ end
45
+
46
+ #get the first line of excel, Header
47
+ columnNames = @worksheet.Rows(1).value[0]
48
+
49
+ #Find out the total number of columns
50
+ name=0
51
+ while(!columnNames[name].eql?(columnName)) do
52
+ # puts columnNames[name].to_s
53
+ name+=1;
54
+ end #While Ends
55
+
56
+ # name+=1;
57
+
58
+ begin
59
+ colData = @worksheet.Range("#{@@map[name]}1:#{@@map[name]}100").Value
60
+ rescue
61
+ return "Data Not Found: Invalid Column"
62
+ end
63
+
64
+ totalScenarios = @scenarios.length
65
+ for index in(0..totalScenarios) do
66
+ if(@scenarios[index].to_s.eql?("[\"" + scenarioName.chomp+ "\"]")) then
67
+ break;
68
+ end # If Ends
69
+ end #For Loop Ends
70
+
71
+ if(index >= totalScenarios) then
72
+ return "Data Not Found: Invalid Scenario"
73
+ end
74
+ index+=1;
75
+
76
+ value = @worksheet.range("#{@@map[name]}#{index}").value
77
+ @workbook.Close
78
+ @excel.Quit
79
+
80
+ if(value.nil?) then
81
+ return ""
82
+ end
83
+
84
+ return value
85
+
86
+ end #getValue
87
+
88
+ end #class ends
89
+
90
+ readExcel = Excel.new("gmail.xls")
91
+ #puts "gauang"
92
+
@@ -0,0 +1,615 @@
1
+ require 'yaml'
2
+
3
+ module UtilityMethods
4
+ $browser = nil
5
+
6
+ #safe Method to make sure that driver waits explicitly during refresh or navigation to a page
7
+ # accepts 'mytimeout' parameter which defines the time to wait before continuing to next
8
+ def safeLoadLink(mytimeout)
9
+ browser_loaded=0
10
+ while (browser_loaded == 0)
11
+ begin
12
+ browser_loaded=1
13
+ Timeout::timeout(mytimeout) do
14
+ yield
15
+ end
16
+ rescue Timeout::Error => e
17
+ puts "Page load timed out: #{e}"
18
+ browser_loaded=0
19
+ retry
20
+ end
21
+ end
22
+ end
23
+
24
+ #yamlpath method to accept the yaml path.
25
+ def yamlpath(path)
26
+ # Function that reads the .yaml file and returns the value
27
+ @@config = YAML.load_file(path)
28
+ end
29
+ #Method to read data from yaml file.
30
+ # This method accepts two parameters
31
+ #'fieldName' - This describes the name of the parameter
32
+ #' fieldname' - This describes the value of the parameter
33
+ def readData(fieldName, fieldValue)
34
+ if (@@config[fieldName][fieldValue].nil?) then
35
+ return ""
36
+ else
37
+ return @@config[fieldName][fieldValue]
38
+ end
39
+ end
40
+
41
+ # Safe Sleep method to sleep for the desired number of seconds
42
+ #Accepts 'time' parameter
43
+ # time - This parameter holds the vaue of time in seconds until which the execution must stop
44
+ def safeSleep(time)
45
+ # sleep time
46
+ end
47
+
48
+ # Safe Click method to wait for object using wait_until_present and then click on object if exists
49
+ # Accepts locType, locBy, locValue as parameters
50
+ # locType - This contains the value of type of the Oject Locator
51
+ # locBy - This contains the 'By' value of the Object Locator
52
+ # locValue - This contains the value of the Object Locator
53
+ def safeClick(locType, locBy, locValue)
54
+ safeWaitUntilPresent(locType, locBy, locValue)
55
+ case locType.downcase
56
+ when "link"
57
+ case locBy.downcase
58
+ when "xpath"
59
+ $browser.link(:xpath, locValue).click
60
+ when "id"
61
+ $browser.link(:id, locValue).click
62
+ when "text"
63
+ $browser.link(:text, locValue).click
64
+ when "href"
65
+ $browser.link(:href, locValue).click
66
+ when "class"
67
+ $browser.link(:class, locValue).click
68
+ else
69
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+locBy
70
+ end
71
+ when "button"
72
+ case locBy.downcase
73
+ when "xpath"
74
+ $browser.button(:xpath, locValue).click
75
+ when "id"
76
+ $browser.button(:id, locValue).click
77
+ when "text"
78
+ $browser.button(:text, locValue).click
79
+ when "href"
80
+ $browser.button(:href, locValue).click
81
+ when "class"
82
+ $browser.button(:class, locValue).click
83
+ when "value"
84
+ $browser.button(:value, locValue).click
85
+ else
86
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+locBy
87
+ end
88
+ when "div"
89
+ case locBy.downcase
90
+ when "xpath"
91
+ $browser.div(:xpath, locValue).click
92
+ when "id"
93
+ $browser.div(:id, locValue).click
94
+ when "text"
95
+ $browser.div(:text, locValue).click
96
+ when "href"
97
+ $browser.div(:href, locValue).click
98
+ when "class"
99
+ $browser.div(:class, locValue).click
100
+ else
101
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+locBy
102
+ end
103
+ when "span"
104
+ case locBy.downcase
105
+ when "xpath"
106
+ $browser.span(:xpath, locValue).click
107
+ when "id"
108
+ $browser.span(:id, locValue).click
109
+ when "text"
110
+ $browser.span(:text, locValue).click
111
+ when "href"
112
+ $browser.span(:href, locValue).click
113
+ when "class"
114
+ $browser.span(:class, locValue).click
115
+ else
116
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+locBy
117
+ end
118
+ when "p"
119
+ case locBy.downcase
120
+ when "xpath"
121
+ $browser.p(:xpath, locValue).click
122
+ when "id"
123
+ $browser.p(:id, locValue).click
124
+ when "text"
125
+ $browser.p(:text, locValue).click
126
+ when "href"
127
+ $browser.p(:href, locValue).click
128
+ when "class"
129
+ $browser.p(:class, locValue).click
130
+ else
131
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+locBy
132
+ end
133
+ when "h2"
134
+ case locBy.downcase
135
+ when "xpath"
136
+ $browser.h2(:xpath, locValue).click
137
+ when "id"
138
+ $browser.h2(:id, locValue).click
139
+ when "text"
140
+ $browser.h2(:text, locValue).click
141
+ when "href"
142
+ $browser.h2(:href, locValue).click
143
+ when "class"
144
+ $browser.h2(:class, locValue).click
145
+ else
146
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+locBy
147
+ end
148
+ else
149
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+locType
150
+ end
151
+ end
152
+
153
+ # Safe Type method to wait for object using wait_until_present and then type in object if exists
154
+ def safeType(locType, locBy, locValue, value)
155
+ safeWaitUntilPresent(locType, locBy, locValue)
156
+ case locType.downcase
157
+ when "text_field"
158
+ case locBy.downcase
159
+ when "xpath"
160
+ $browser.text_field(:xpath, locValue).send_keys value
161
+ when "id"
162
+ $browser.text_field(:id, locValue).send_keys value
163
+ when "text"
164
+ $browser.text_field(:text, locValue).send_keys value
165
+ when "name"
166
+ $browser.text_field(:name, locValue).send_keys value
167
+ when "class"
168
+ $browser.text_field(:class, locValue).send_keys value
169
+ else
170
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeType"
171
+ end
172
+ when "div"
173
+ case locBy.downcase
174
+ when "xpath"
175
+ $browser.div(:xpath, locValue).send_keys value
176
+ when "id"
177
+ $browser.div(:id, locValue).send_keys value
178
+ when "text"
179
+ $browser.div(:text, locValue).send_keys value
180
+ when "name"
181
+ $browser.div(:name, locValue).send_keys value
182
+ when "class"
183
+ $browser.div(:class, locValue).send_keys value
184
+ else
185
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeType"
186
+ end
187
+ end
188
+ end
189
+
190
+ # Safe ClearType method to wait for object using wait_until_present and clear text field and then type in object if exists
191
+ def safeClearType(locType, locBy, locValue, value)
192
+ safeWaitUntilPresent(locType, locBy, locValue)
193
+ case locType.downcase
194
+ when "text_field"
195
+ case locBy.downcase
196
+ when "xpath"
197
+ $browser.text_field(:xpath, locValue).clear
198
+ $browser.text_field(:xpath, locValue).send_keys value
199
+ when "id"
200
+ $browser.text_field(:id, locValue).clear
201
+ $browser.text_field(:id, locValue).send_keys value
202
+ when "text"
203
+ $browser.text_field(:text, locValue).clear
204
+ $browser.text_field(:text, locValue).send_keys value
205
+ when "class"
206
+ $browser.text_field(:class, locValue).clear
207
+ $browser.text_field(:class, locValue).send_keys value
208
+ when "name"
209
+ $browser.text_field(:name, locValue).clear
210
+ $browser.text_field(:name, locValue).send_keys value
211
+ else
212
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeClearType"
213
+ end
214
+ when "div"
215
+ case locBy.downcase
216
+ when "xpath"
217
+ $browser.div(:xpath, locValue).clear
218
+ $browser.div(:xpath, locValue).send_keys value
219
+ when "id"
220
+ $browser.div(:id, locValue).clear
221
+ $browser.div(:id, locValue).send_keys value
222
+ when "text"
223
+ $browser.div(:text, locValue).clear
224
+ $browser.div(:text, locValue).send_keys value
225
+ when "name"
226
+ $browser.div(:name, locValue).clear
227
+ $browser.div(:name, locValue).send_keys value
228
+ when "class"
229
+ $browser.div(:class, locValue).clear
230
+ $browser.div(:class, locValue).send_keys value
231
+ else
232
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeClearType"
233
+ end
234
+ else
235
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+locType + "safeClearType"
236
+ end
237
+ end
238
+
239
+ # Safe Flash method to wait for object using wait_until_present and then highlight the object
240
+ def safeFlash(locType, locBy, locValue)
241
+ safeWaitUntilPresent(locType, locBy, locValue)
242
+ case locType.downcase
243
+ when "link"
244
+ case locBy.downcase
245
+ when "xpath"
246
+ $browser.link(:xpath, locValue).flash
247
+ when "id"
248
+ $browser.link(:id, locValue).flash
249
+ when "text"
250
+ $browser.link(:text, locValue).flash
251
+ when "href"
252
+ $browser.link(:href, locValue).flash
253
+ when "class"
254
+ $browser.link(:class, locValue).flash
255
+ else
256
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeFlash"
257
+ end
258
+ when "button"
259
+ case locBy.downcase
260
+ when "xpath"
261
+ $browser.button(:xpath, locValue).flash
262
+ when "id"
263
+ $browser.button(:id, locValue).flash
264
+ when "text"
265
+ $browser.button(:text, locValue).flash
266
+ when "href"
267
+ $browser.button(:href, locValue).flash
268
+ when "class"
269
+ $browser.button(:class, locValue).flash
270
+ else
271
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeFlash"
272
+ end
273
+ when "text_field"
274
+ case locBy.downcase
275
+ when "xpath"
276
+ $browser.text_field(:xpath, locValue).flash
277
+ when "id"
278
+ $browser.text_field(:id, locValue).flash
279
+ when "text"
280
+ $browser.text_field(:text, locValue).flash
281
+ when "href"
282
+ $browser.text_field(:href, locValue).flash
283
+ when "class"
284
+ $browser.text_field(:class, locValue).flash
285
+ else
286
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeFlash"
287
+ end
288
+ when "div"
289
+ case locBy.downcase
290
+ when "xpath"
291
+ $browser.div(:xpath, locValue).flash
292
+ when "id"
293
+ $browser.div(:id, locValue).flash
294
+ when "text"
295
+ $browser.div(:text, locValue).flash
296
+ when "href"
297
+ $browser.div(:href, locValue).flash
298
+ when "class"
299
+ $browser.div(:class, locValue).flash
300
+ else
301
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeFlash"
302
+ end
303
+ when "span"
304
+ case locBy.downcase
305
+ when "xpath"
306
+ $browser.span(:xpath, locValue).flash
307
+ when "id"
308
+ $browser.span(:id, locValue).flash
309
+ when "text"
310
+ $browser.span(:text, locValue).flash
311
+ when "href"
312
+ $browser.span(:href, locValue).flash
313
+ when "class"
314
+ $browser.span(:class, locValue).flash
315
+ else
316
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeFlash"
317
+ end
318
+ when "h1"
319
+ case locBy.downcase
320
+ when "xpath"
321
+ $browser.h1(:xpath, locValue).flash
322
+ when "id"
323
+ $browser.h1(:id, locValue).flash
324
+ when "text"
325
+ $browser.h1(:text, locValue).flash
326
+ when "href"
327
+ $browser.h1(:href, locValue).flash
328
+ when "class"
329
+ $browser.h1(:class, locValue).flash
330
+ else
331
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeFlash"
332
+ end
333
+ else
334
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locType + "safeFlash"
335
+ end
336
+ end
337
+
338
+ # Safe Wait method to wait for object using wait_until_present
339
+ def safeWaitUntilPresent(locType, locBy, locValue)
340
+ begin
341
+ case locType.downcase
342
+ when "link"
343
+ case locBy.downcase
344
+ when "xpath"
345
+ $browser.link(:xpath, locValue).wait_until_present
346
+ when "id"
347
+ $browser.link(:id, locValue).wait_until_present
348
+ when "href"
349
+ $browser.link(:href, locValue).wait_until_present
350
+ when "text"
351
+ $browser.link(:text, locValue).wait_until_present
352
+ when "name"
353
+ $browser.link(:name, locValue).wait_until_present
354
+ when "class"
355
+ $browser.link(:class, locValue).wait_until_present
356
+ else
357
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + " safeWaitUntilPresent"
358
+ end
359
+ when "button"
360
+ case locBy.downcase
361
+ when "xpath"
362
+ $browser.button(:xpath, locValue).wait_until_present
363
+ when "id"
364
+ $browser.button(:id, locValue).wait_until_present
365
+ when "href"
366
+ $browser.button(:href, locValue).wait_until_present
367
+ when "text"
368
+ $browser.button(:text, locValue).wait_until_present
369
+ when "name"
370
+ $browser.button(:name, locValue).wait_until_present
371
+ when "class"
372
+ $browser.button(:class, locValue).wait_until_present
373
+ when "value"
374
+ $browser.button(:value, locValue).wait_until_present
375
+ else
376
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + " safeWaitUntilPresent"
377
+ end
378
+ when "text_field"
379
+ case locBy.downcase
380
+ when "xpath"
381
+ $browser.text_field(:xpath, locValue).wait_until_present
382
+ when "id"
383
+ $browser.text_field(:id, locValue).wait_until_present
384
+ when "href"
385
+ $browser.text_field(:href, locValue).wait_until_present
386
+ when "text"
387
+ $browser.text_field(:text, locValue).wait_until_present
388
+ when "name"
389
+ $browser.text_field(:name, locValue).wait_until_present
390
+ when "class"
391
+ $browser.text_field(:class, locValue).wait_until_present
392
+ else
393
+ puts "THE DEFINITION DOES NOT EXIST. dont PLEASE DEFINE"+ locBy + " safeWaitUntilPresent"
394
+ end
395
+ when "div"
396
+ case locBy.downcase
397
+ when "xpath"
398
+ $browser.div(:xpath, locValue).wait_until_present
399
+ when "id"
400
+ $browser.div(:id, locValue).wait_until_present
401
+ when "href"
402
+ $browser.div(:href, locValue).wait_until_present
403
+ when "text"
404
+ $browser.div(:text, locValue).wait_until_present
405
+ when "name"
406
+ $browser.div(:name, locValue).wait_until_present
407
+ when "class"
408
+ $browser.div(:class, locValue).wait_until_present
409
+ else
410
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + " safeWaitUntilPresent"
411
+ end
412
+ when "span"
413
+ case locBy.downcase
414
+ when "xpath"
415
+ $browser.span(:xpath, locValue).wait_until_present
416
+ when "id"
417
+ $browser.span(:id, locValue).wait_until_present
418
+ when "href"
419
+ $browser.span(:href, locValue).wait_until_present
420
+ when "text"
421
+ $browser.span(:text, locValue).wait_until_present
422
+ when "name"
423
+ $browser.span(:name, locValue).wait_until_present
424
+ when "class"
425
+ $browser.span(:class, locValue).wait_until_present
426
+ else
427
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + " safeWaitUntilPresent"
428
+ end
429
+ when "p"
430
+ case locBy.downcase
431
+ when "xpath"
432
+ $browser.p(:xpath, locValue).wait_until_present
433
+ when "id"
434
+ $browser.p(:id, locValue).wait_until_present
435
+ when "href"
436
+ $browser.p(:href, locValue).wait_until_present
437
+ when "text"
438
+ $browser.p(:text, locValue).wait_until_present
439
+ when "name"
440
+ $browser.p(:name, locValue).wait_until_present
441
+ when "class"
442
+ $browser.p(:class, locValue).wait_until_present
443
+ else
444
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + " safeWaitUntilPresent"
445
+ end
446
+ when "h1"
447
+ case locBy.downcase
448
+ when "xpath"
449
+ $browser.h1(:xpath, locValue).wait_until_present
450
+ when "id"
451
+ $browser.h1(:id, locValue).wait_until_present
452
+ when "href"
453
+ $browser.h1(:href, locValue).wait_until_present
454
+ when "text"
455
+ $browser.h1(:text, locValue).wait_until_present
456
+ when "name"
457
+ $browser.h1(:name, locValue).wait_until_present
458
+ when "class"
459
+ $browser.h1(:class, locValue).wait_until_present
460
+ else
461
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + " safeWaitUntilPresent"
462
+ end
463
+ when "h2"
464
+ case locBy.downcase
465
+ when "xpath"
466
+ $browser.h2(:xpath, locValue).wait_until_present
467
+ when "id"
468
+ $browser.h2(:id, locValue).wait_until_present
469
+ when "href"
470
+ $browser.h2(:href, locValue).wait_until_present
471
+ when "text"
472
+ $browser.h2(:text, locValue).wait_until_present
473
+ when "name"
474
+ $browser.h2(:name, locValue).wait_until_present
475
+ when "class"
476
+ $browser.h2(:class, locValue).wait_until_present
477
+ else
478
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + " safeWaitUntilPresent"
479
+ end
480
+ when "image"
481
+ case locBy.downcase
482
+ when "xpath"
483
+ $browser.image(:xpath, locValue).wait_until_present
484
+ when "id"
485
+ $browser.image(:id, locValue).wait_until_present
486
+ when "href"
487
+ $browser.image(:href, locValue).wait_until_present
488
+ when "text"
489
+ $browser.image(:text, locValue).wait_until_present
490
+ when "name"
491
+ $browser.image(:name, locValue).wait_until_present
492
+ when "class"
493
+ $browser.image(:class, locValue).wait_until_present
494
+ else
495
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + " safeWaitUntilPresent"
496
+ end
497
+ else
498
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locType + "safeWaitUntilPresent"
499
+ raise 'A test exception.'
500
+ end
501
+ rescue => e
502
+ raise "Could NOT FIND ELEMENT #{e.message}"
503
+ end
504
+ end
505
+
506
+
507
+ # Safe Wait method to wait for object using wait_while_present
508
+ def safeWaitWhilePresent(locType, locBy, locValue)
509
+ begin
510
+ case locType.downcase
511
+ when "link"
512
+ case locBy.downcase
513
+ when "xpath"
514
+ $browser.link(:xpath, locValue).wait_while_present
515
+ when "id"
516
+ $browser.link(:id, locValue).wait_while_present
517
+ when "href"
518
+ $browser.link(:href, locValue).wait_while_present
519
+ when "text"
520
+ $browser.link(:text, locValue).wait_while_present
521
+ when "name"
522
+ $browser.link(:name, locValue).wait_while_present
523
+ else
524
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeWaitWhilePresent"
525
+ end
526
+ when "button"
527
+ case locBy.downcase
528
+ when "xpath"
529
+ $browser.button(:xpath, locValue).wait_while_present
530
+ when "id"
531
+ $browser.button(:id, locValue).wait_while_present
532
+ when "href"
533
+ $browser.button(:href, locValue).wait_while_present
534
+ when "text"
535
+ $browser.button(:text, locValue).wait_while_present
536
+ when "name"
537
+ $browser.button(:name, locValue).wait_while_present
538
+ else
539
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeWaitWhilePresent"
540
+ end
541
+ when "text_field"
542
+ case locBy.downcase
543
+ when "xpath"
544
+ $browser.text_field(:xpath, locValue).wait_while_present
545
+ when "id"
546
+ $browser.text_field(:id, locValue).wait_while_present
547
+ when "href"
548
+ $browser.text_field(:href, locValue).wait_while_present
549
+ when "text"
550
+ $browser.text_field(:text, locValue).wait_while_present
551
+ when "name"
552
+ $browser.text_field(:name, locValue).wait_while_present
553
+ when "class"
554
+ $browser.text_field(:class, locValue).wait_while_present
555
+ else
556
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeWaitWhilePresent"
557
+ end
558
+ when "div"
559
+ case locBy.downcase
560
+ when "xpath"
561
+ $browser.div(:xpath, locValue).wait_while_present
562
+ when "id"
563
+ $browser.div(:id, locValue).wait_while_present
564
+ when "href"
565
+ $browser.div(:href, locValue).wait_while_present
566
+ when "text"
567
+ $browser.div(:text, locValue).wait_while_present
568
+ when "name"
569
+ $browser.div(:name, locValue).wait_while_present
570
+ when "class"
571
+ $browser.div(:class, locValue).wait_while_present
572
+ else
573
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeWaitWhilePresent"
574
+ end
575
+ when "span"
576
+ case locBy.downcase
577
+ when "xpath"
578
+ $browser.span(:xpath, locValue).wait_while_present
579
+ when "id"
580
+ $browser.span(:id, locValue).wait_while_present
581
+ when "href"
582
+ $browser.span(:href, locValue).wait_while_present
583
+ when "text"
584
+ $browser.span(:text, locValue).wait_while_present
585
+ when "name"
586
+ $browser.span(:name, locValue).wait_while_present
587
+ else
588
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeWaitWhilePresent"
589
+ end
590
+ when "p"
591
+ case locBy.downcase
592
+ when "xpath"
593
+ $browser.p(:xpath, locValue).wait_while_present
594
+ when "id"
595
+ $browser.p(:id, locValue).wait_while_present
596
+ when "href"
597
+ $browser.p(:href, locValue).wait_while_present
598
+ when "text"
599
+ $browser.p(:text, locValue).wait_while_present
600
+ when "name"
601
+ $browser.p(:name, locValue).wait_while_present
602
+ else
603
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locBy + "safeWaitWhilePresent"
604
+ end
605
+ else
606
+ puts "THE DEFINITION DOES NOT EXIST. PLEASE DEFINE"+ locType + "safeWaitWhilePresent"
607
+ end
608
+ rescue => e
609
+ puts "Could NOT FIND ELEMENT #{e.message}"
610
+ end
611
+ end
612
+
613
+
614
+
615
+ end
@@ -0,0 +1,22 @@
1
+
2
+
3
+ module OneHealthCommunityConstants
4
+ $communitiesLink_href = "/#/communities"
5
+ $communityPageHeader_text = "Communities"
6
+ $communityJoinButton_text = "Join"
7
+ $communityClockPopup_id = "dialog-box"
8
+ $communityClockdateField_class = "clock_date right hasDatepicker"
9
+ $communityCalendarObject_id = "ui-datepicker-div"
10
+ $communityClockSavebutton_class = "button rounded action-save"
11
+ $communitySucessNotificationOkButton_text = "Ok"
12
+ $communityEndlessLoader_id = "endless_loader"
13
+ $searchInputField_class = "search-input"
14
+ $searchResultHearder_class = "profile_name"
15
+ $clockMonthOnLeftSide_xpath = ".//div[@class = 'month_count count']"
16
+ $clockDayOnLeftSide_xpath = ".//div[@class = 'day_count count']"
17
+ $FirstClock_xpath = ".//*[@id='clocks']/div/div/div/div[1]"
18
+ $clockDelete_class = "action-clock-remove"
19
+ $communitySettingsLink_xpath = ".//*[@id='main-header']/div/h1/span[2]/div"
20
+ $communityUnjoinNotification_class = "dialog-confirm"
21
+ $confirmUnjoinButton_class ="action-confirm button rounded"
22
+ end
@@ -0,0 +1,119 @@
1
+
2
+ require "#{File.dirname(__FILE__)}/../../libs/UtilityMethods"
3
+ require "#{File.dirname(__FILE__)}/OneHealthCommunityConstants"
4
+
5
+ module OneHealthCommunityPage
6
+
7
+ def selectCommunityfromList(communityNmae)
8
+ safeFlash("link", "href", $communitiesLink_href)
9
+ safeClick("link", "href", $communitiesLink_href )
10
+ safeWaitUntilPresent("span", "text", $communityPageHeader_text)
11
+ safeClick("link", "text", communityNmae)
12
+ safeWaitUntilPresent("button", "text", $communityJoinButton_text)
13
+ end
14
+
15
+ def joinCommunityAndAddClock
16
+ safeClick("button", "text", $communityJoinButton_text)
17
+ safeWaitUntilPresent("div", "id", $communityClockPopup_id)
18
+ safeType("text_field", "class", $communityClockdateField_class, "04/01/2013")
19
+ $browser.send_keys :enter
20
+ safeWaitWhilePresent("div", "id",$communityCalendarObject_id )
21
+ safeClick("button", "class", $communityClockSavebutton_class)
22
+ safeClick("button", "text", $communitySucessNotificationOkButton_text)
23
+ safeWaitWhilePresent("div", "id", $communityEndlessLoader_id)
24
+ end
25
+
26
+ def navigateToJoinedCommunity(communityname)
27
+ $joinedCommunity = communityname
28
+ assert($browser.link(:xpath, ".//a[contains(text(), '"+communityname+"')]").exists? == true, "NOT ABLE TO FIND" + communityname+" NAME IN THE LSIT OF COMMUNITIES JOINED")
29
+ safeClick("link", "xpath", ".//a[contains(text(), '"+$joinedCommunity+"')]")
30
+ safeWaitUntilPresent("span", "xpath", ".//span[contains (text(), '"+$joinedCommunity+"')]")
31
+ safeFlash("span", "xpath", ".//span[contains (text(), '"+$joinedCommunity+"')]")
32
+ end
33
+
34
+ def verifyCommunityJoin
35
+ assert($browser.span(:xpath, ".//span[contains (text(), '"+$joinedCommunity+"')]").exists? == true, "JOINED COMMUNITY "+$joinedCommunity+" VERIFICATION FAILED")
36
+ safeFlash("span", "xpath", ".//span[contains (text(), '"+$joinedCommunity+"')]")
37
+ puts "COMMUNITY JOINED VERIFICATION SUCCESFULLY"
38
+ end
39
+
40
+ def verifyAddedClock
41
+ assert($browser.div(:xpath, ".//div[contains(text(), '"+$joinedCommunity+"')]").exists? == true, "Clock Added for the user for Community "+$joinedCommunity+" is not displayed.")
42
+ safeFlash("div", "xpath", ".//div[contains(text(), '"+$joinedCommunity+"')]")
43
+ puts "Clock Added Is Diplayed for the Joined Community " +$joinedCommunity
44
+ end
45
+
46
+ def searchAndVerify(username)
47
+ safeFlash("text_field", "class", $searchInputField_class)
48
+ safeType("text_field", "class", $searchInputField_class, username)
49
+ safeType("text_field", "class", $searchInputField_class, :enter)
50
+ safeWaitUntilPresent("h1", "class", $searchResultHearder_class)
51
+ assert($browser.h1(:xpath, ".//h1[contains(text(), '" +username+"')]").exists? == true, "Username searched is NOT matching the resuolts displayed. Please verify")
52
+ puts "Username Searched '"+username+"' is Displyed in the Results"
53
+ safeFlash("h1", "xpath", ".//h1[contains(text(), '" +username+"')]")
54
+ $commname = $browser.div(:class, "comm_name").text
55
+ assert(($commname == $joinedCommunity) == true, "Clock for '"+username+"' does not exist for the community joined earlier")
56
+ verifyAddedClock
57
+ puts "user with name '"+ username+ "' is having clocks for the Joined Community '"+ $joinedCommunity+"'"
58
+ end
59
+
60
+ def getOldDate
61
+ nowDate = DateTime.now
62
+ prevDate = nowDate<<2
63
+ previousDate = prevDate.strftime("%m/%d/%Y")
64
+ return previousDate
65
+ end
66
+
67
+ def updateClock
68
+ assert($browser.div(:xpath, ".//div[contains(text(), '"+$joinedCommunity+"')]").exists? == true, "Clock Added for the user for Community "+$joinedCommunity+" is not displayed.")
69
+ safeClick("div", "xpath", ".//div[contains(text(), '"+$joinedCommunity+"')]")
70
+ safeWaitUntilPresent("div", "id", $communityClockPopup_id)
71
+ $prevdate = getOldDate
72
+ puts $prevdate
73
+ safeClearType("text_field", "class", $communityClockdateField_class, $prevdate)
74
+ $browser.send_keys :enter
75
+ #safeType("text_field", "class", $communityClockdateField_class, :enter)
76
+ safeWaitWhilePresent("div", "id",$communityCalendarObject_id )
77
+ safeClick("button", "class", $communityClockSavebutton_class)
78
+ safeClick("button", "text", $communitySucessNotificationOkButton_text)
79
+ safeWaitWhilePresent("div", "id", $communityEndlessLoader_id)
80
+ end
81
+
82
+ def verifyUpdatedClock
83
+ assert($browser.div(:xpath, ".//div[contains(text(), '"+$joinedCommunity+"')]").exists? == true, "Clock Added for the user for Community "+$joinedCommunity+" is not displayed.")
84
+ monthvalue = $browser.div(:xpath, $clockMonthOnLeftSide_xpath).text.to_s
85
+ dayvalue = $browser.div(:xpath, $clockDayOnLeftSide_xpath).text
86
+ assert((monthvalue.eql? "2") == true, "The Clock has Day count greater than 0. Date is NOT updated properly")
87
+ assert((dayvalue.eql? "0"), "The Clock has Day count greater than 0. Date is NOT updated properly")
88
+ safeFlash("div", "xpath", $FirstClock_xpath)
89
+ puts "The Date is updated properly. The value in Months is '"+monthvalue +"' and Day value is '"+dayvalue +"'. When the Updated date is '"+$prevdate+"'."
90
+ end
91
+
92
+ def deleteClock
93
+ assert($browser.div(:xpath, ".//div[contains(text(), '"+$joinedCommunity+"')]").exists? == true, "Clock Added for the user for Community "+$joinedCommunity+" is not displayed.")
94
+ safeClick("div", "xpath", ".//div[contains(text(), '"+$joinedCommunity+"')]")
95
+ safeClick("link", "class", $clockDelete_class)
96
+ safeClick("button", "text", $communitySucessNotificationOkButton_text)
97
+ safeWaitWhilePresent("div", "id", $communityEndlessLoader_id)
98
+ end
99
+
100
+ def verifyDeleteClock
101
+ assert($browser.div(:xpath, ".//div[contains(text(), '"+$joinedCommunity+"')]").exists? != true, "Clock Exists for the Community "+$joinedCommunity+" . Deletion NOT Successful.")
102
+ puts "Clock Deleted Sucessfully for the Community '"+$joinedCommunity+"'."
103
+ end
104
+
105
+ def unjoinCommunity
106
+ navigateToJoinedCommunity($joinedCommunity)
107
+ safeFlash("div", "xpath", $communitySettingsLink_xpath)
108
+ safeClick("div", "xpath", $communitySettingsLink_xpath)
109
+ $browser.div(:class, "dd_menu_button community_menu_button").li(:text, "Unjoin community").click
110
+ safeWaitUntilPresent("div", "class", $communityUnjoinNotification_class)
111
+ safeClick("button","class", $confirmUnjoinButton_class)
112
+ end
113
+
114
+ def verifyCommunityUnjoin
115
+ assert($browser.div(:xpath, ".//a[contains (text(), '"+$joinedCommunity+"')]").exists? != true, "Community still Exists in Left Menu. Community Unjoin Succesful.")
116
+ puts "Community Unjoin SuccessFul"
117
+ end
118
+ end
119
+
@@ -0,0 +1,23 @@
1
+
2
+
3
+
4
+ module OneHealthJournalConstants
5
+
6
+ $journalLink_id = "nav_primary_journals"
7
+ $journalHeader_xpath = ".//h1[contains(text(), 'My Journal')]"
8
+ $newJournalEntryCreation_class = "rounded secondary_button add_journal_button processed"
9
+ $titlecreateTextbox_class = "add_journal_title_text processed"
10
+ $messagecreateTextbox_class = "add_journal_message_text processed"
11
+ $publishcreateJournalbutton_class = "publish_journal button rounded processed"
12
+ $firstJournalLink_xpath = "(.//a[@class='title_link'])[1]"
13
+ $firstJournalEntry_xpath = ".//*[@id='main']/ul/li[1]/div/h3/p/a[1]"
14
+ $firstJournalEditButton_xpath = "(.//a[@class = 'edit_journal_post'])[1]"
15
+ $titleEditTextbox_class ="edit_journal_title_text processed"
16
+ $messageEditTextbox_class = "edit_journal_message_text processed"
17
+ $updateJournalButton_value = "Update Journal"
18
+ $deleteJournalLink_text = "Delete"
19
+ $homebutton_class = "noti_icon noti_home"
20
+ $homepageheaderLogo_class = "recovery_logo"
21
+ $succesDialog_class = "dialog-message"
22
+
23
+ end
@@ -0,0 +1,84 @@
1
+
2
+ require "#{File.dirname(__FILE__)}/../../libs/UtilityMethods"
3
+ require "#{File.dirname(__FILE__)}/OneHealthJournalConstants"
4
+
5
+
6
+ module OneHealthJournalPage
7
+
8
+ def verifyEmoticonJournal
9
+ clickJournal
10
+ $emoticonjournaltext = $browser.link(:xpath, $firstJournalEntry_xpath).text
11
+ if ($emoticonjournaltext.include? $emoticon)
12
+ safeFlash("link", "xpath", $firstJournalEntry_xpath)
13
+ puts "Emoticon on Journal Page Verified. The First Journal Entry has emoticon as " + $emoticon
14
+ else
15
+ puts "FAILED AUTHENTICATION"
16
+ end
17
+ end
18
+
19
+ def clickJournal
20
+ safeClick("link", "id", $journalLink_id)
21
+ safeWaitUntilPresent("h1", "xpath", $journalHeader_xpath)
22
+ safeFlash("h1", "xpath", $journalHeader_xpath)
23
+ end
24
+
25
+ def addJournal(titleText, messageText)
26
+ $titleText = titleText
27
+ safeWaitUntilPresent("button", "class", $newJournalEntryCreation_class)
28
+ safeClick("button", "class", $newJournalEntryCreation_class)
29
+ safeClearType("text_field", "class", $titlecreateTextbox_class, titleText)
30
+ safeClearType("text_field", "class", $messagecreateTextbox_class, messageText)
31
+ safeClick("button", "class", $publishcreateJournalbutton_class)
32
+ safeWaitWhilePresent("div", "class", $succesDialog_class)
33
+ safeSleep(5)
34
+ end
35
+
36
+ def verifyJournalCreated
37
+ assert($browser.link(:xpath, "(.//*[contains(text(), '"+ $titleText +"')])[1]").exists? == true, "Unable to Find the First Link with given Text. Journal Creation Failed")
38
+ safeFlash("link", "xpath", "(.//*[contains(text(), '"+ $titleText +"')])[1]")
39
+ puts "Journal Created Sucessful. First Journal Entry has Title "+ $titleText
40
+ end
41
+
42
+ def updateJournal(titleEditText, messageEditText )
43
+ $titleEditText = titleEditText
44
+ safeClick("link", "xpath", $firstJournalEditButton_xpath)
45
+ safeType("text_field", "class", $titleEditTextbox_class, titleEditText)
46
+ safeType("text_field", "class", $messageEditTextbox_class, messageEditText)
47
+ safeClick("button", "value", $updateJournalButton_value )
48
+ safeWaitWhilePresent("div", "class", $succesDialog_class)
49
+ safeSleep(5)
50
+ end
51
+
52
+ def verifyUpdateJournal
53
+ assert($browser.link(:xpath, "(.//*[contains(text(), '"+ $titleEditText +"')])[1]").exists? == true, "First Link Doesn't Contain Edited Text. Journal Update Failed")
54
+ safeFlash("link", "xpath", $firstJournalLink_xpath)
55
+ puts "Journal EDITED and First Entry contains "+$titleEditText +" in the TITLE"
56
+ end
57
+
58
+ def deleteJournal
59
+ safeFlash("link", "xpath", $firstJournalEditButton_xpath)
60
+ safeClick("link", "xpath", $firstJournalEditButton_xpath)
61
+ safeClick("link", "text", $deleteJournalLink_text)
62
+ safeWaitWhilePresent("div", "class", $succesDialog_class)
63
+ safeSleep(5)
64
+ end
65
+
66
+ def verifyJournalDeleted
67
+ assert($browser.link(:xpath, "(.//a[contains(text(), '"+ $emoticon +"')])[1]").exists? == true, "First Link Doesn't Contain Emoticon Text. Journal Deletion Failed")
68
+ safeFlash("link", "xpath", "(.//a[contains(text(), '"+ $emoticon +"')])[1]")
69
+ puts "JOURNAL DELETED SUCCESSFULLY. Now the First Entry on Journal has Title " + $emoticon
70
+ end
71
+
72
+ def navigatetoHome
73
+ safeClick("span", "class", $homebutton_class)
74
+ safeWaitUntilPresent("image", "class", $homepageheaderLogo_class)
75
+ end
76
+
77
+ def refreshPage
78
+ safeWaitUntilPresent("div", "class", $succesDialog_class)
79
+ safeClick("h2", "id", "dialog-remove")
80
+ safeWaitUntilPresent("h1", "xpath", $journalHeader_xpath)
81
+ $browser.refresh
82
+ safeWaitUntilPresent("h1", "xpath", $journalHeader_xpath)
83
+ end
84
+ end
@@ -0,0 +1,10 @@
1
+
2
+
3
+ module OneHealthLoginConstants
4
+
5
+ $usrName_textfield_id= "email"
6
+ $password_textfield_id = "password"
7
+ $loginbutton_button_text = "Login"
8
+ $logoutlink_link_text = "[Logout]"
9
+
10
+ end
@@ -0,0 +1,43 @@
1
+ require 'watir-webdriver'
2
+ require 'test/unit'
3
+ require 'date'
4
+ require 'ci/reporter/rake/test_unit_loader.rb'
5
+ require "#{File.dirname(__FILE__)}/OneHealthLoginConstants"
6
+ require "#{File.dirname(__FILE__)}/../../libs/UtilityMethods"
7
+
8
+ module OneHealthLoginPage
9
+ def login(username, password)
10
+ safeClearType("text_field", "id", $usrName_textfield_id, username)
11
+ safeClearType("text_field", "id", $password_textfield_id, password)
12
+ safeClick("button", "text", $loginbutton_button_text)
13
+ end
14
+
15
+ def smileySelect(emotion)
16
+ $emoticon = emotion
17
+ safeWaitUntilPresent("p", "text", emotion)
18
+ safeClick("p", "text", emotion)
19
+ end
20
+
21
+ def verifyLogin
22
+ safeWaitWhilePresent("div", "id", "dialog-box")
23
+ safeWaitUntilPresent("link", "text", "[Logout]")
24
+ assert($browser.link(:text, "[Logout]").exists? == true, "LOGIN NOT SUCCESFUL. PLEASE CHECK")
25
+ puts "LOGIN SUCCESFUL"
26
+ end
27
+
28
+ def verifyEmoticonHome
29
+ assert($browser.div(:xpath, ".//div[contains(text(), '"+$emoticon+"')]").exists? == true)
30
+ #assert($browser.div(:xpath, ".//div[contains(text(), 'XYZ')]").exists? == true, "Emoticon Verification on Home Page Failed. Unable to Find Element with selected Emoticon")
31
+ safeFlash("div", "xpath",".//div[contains(text(), '"+$emoticon+"')]" )
32
+ puts "Emoticon Selected is " + $emoticon + ". Verification of Emoticon on Home Page Succesfuly"
33
+ end
34
+
35
+ def logoutandVerify
36
+ safeClick("link", "text", $logoutlink_link_text)
37
+ safeWaitUntilPresent("button", "text", $loginbutton_button_text)
38
+ if(assert($browser.button(:text, $loginbutton_button_text).exists? == true, "LOGOUT NOT SUCCESFUL PLS CHECK"))
39
+ safeFlash("button", "text", $loginbutton_button_text)
40
+ puts "LOGOUT SUCCESFUL"
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,22 @@
1
+ require 'libs/BaseClassMethods'
2
+ require 'libs/UtilityMethods'
3
+ require 'page/OneHealth_CommunityPage/OneHealthCommunityPage'
4
+ require 'page/OneHealth_CommunityPage/OneHealthCommunityConstants'
5
+ require 'page/OneHealth_JournalPage/OneHealthJournalPage'
6
+ require 'page/OneHealth_JournalPage/OneHealthJournalConstants'
7
+ require 'page/OneHealth_LoginPage/OneHealthLoginPage'
8
+ require 'page/OneHealth_LoginPage/OneHealthLoginConstants'
9
+
10
+
11
+ include BaseClassMethods
12
+ include OneHealthLoginPage
13
+ include OneHealthCommunityPage
14
+ include OneHealthJournalPage
15
+ include UtilityMethods
16
+
17
+ module OhFramezq
18
+
19
+ class OneHealth
20
+
21
+ end
22
+ end
@@ -0,0 +1,19 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../core", __FILE__)
3
+ $:.push File.expand_path("../core/libs", __FILE__)
4
+ $:.push File.expand_path("../core/page", __FILE__)
5
+ #require "mygem/version"
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = %q{zqframeworkOH}
9
+ s.version = "1.0.1"
10
+ s.date = %q{2013-04-29}
11
+ s.authors = ["Pawan"]
12
+ s.email = ["pawan@zenqa.com"]
13
+ s.homepage = ""
14
+ s.summary = "FrameWork GEM"
15
+ s.description = "GEM for FrameWork"
16
+ s.files = Dir.glob '**/*'
17
+ #+Dir['core/libs/*.rb']+Dir['core/page/*.rb']+Dir['core/page/**/*']
18
+ s.require_paths = ["core"]
19
+ end
Binary file
metadata ADDED
@@ -0,0 +1,60 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zqframeworkOH
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Pawan
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-04-29 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: GEM for FrameWork
15
+ email:
16
+ - pawan@zenqa.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - core/libs/BaseClassInstanceMethods.rb
22
+ - core/libs/BaseClassMethods.rb
23
+ - core/libs/Excel.rb
24
+ - core/libs/UtilityMethods.rb
25
+ - core/page/OneHealth_CommunityPage/OneHealthCommunityConstants.rb
26
+ - core/page/OneHealth_CommunityPage/OneHealthCommunityPage.rb
27
+ - core/page/OneHealth_JournalPage/OneHealthJournalConstants.rb
28
+ - core/page/OneHealth_JournalPage/OneHealthJournalPage.rb
29
+ - core/page/OneHealth_LoginPage/OneHealthLoginConstants.rb
30
+ - core/page/OneHealth_LoginPage/OneHealthLoginPage.rb
31
+ - core/zqframeworkOH.rb
32
+ - OneHealthGem/zqframeworkOH-1.0.0.gem
33
+ - zqframegem.gemspec
34
+ - zqframeworkOH-1.0.0.gem
35
+ - zqframeworkOH-1.0.1.gem
36
+ homepage: ''
37
+ licenses: []
38
+ post_install_message:
39
+ rdoc_options: []
40
+ require_paths:
41
+ - core
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ required_rubygems_version: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ requirements: []
55
+ rubyforge_project:
56
+ rubygems_version: 1.8.24
57
+ signing_key:
58
+ specification_version: 3
59
+ summary: FrameWork GEM
60
+ test_files: []