qfunction 0.0.3 → 0.0.4
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.
- data/Manifest +1 -0
- data/Rakefile +1 -1
- data/lib/function/HTMLElement.rb +55 -55
- data/lib/function/assertions.rb +13 -14
- data/lib/function/sfunction.rb +8 -8
- data/lib/qfunction.rb +363 -1
- data/lib/qstart.rb +362 -0
- data/qfunction.gemspec +3 -3
- metadata +4 -4
data/Manifest
CHANGED
data/Rakefile
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
require 'rake'
|
3
3
|
require 'echoe'
|
4
4
|
|
5
|
-
Echoe.new('qfunction', '0.0.
|
5
|
+
Echoe.new('qfunction', '0.0.4') do |p|
|
6
6
|
p.description = "Funciton"
|
7
7
|
p.author = "QuangMV, Cyworld Vietnam, 5th Floor, 447 Lac Long Quan Street, Tay Ho Dist, Hanoi, Vietnam"
|
8
8
|
p.email = "quangnnt@gmail.com"
|
data/lib/function/HTMLElement.rb
CHANGED
@@ -1,58 +1,58 @@
|
|
1
1
|
#B: HTML
|
2
|
-
module
|
2
|
+
module Qh
|
3
3
|
#Goto url
|
4
|
-
def goto(url)
|
4
|
+
def self.goto(url)
|
5
5
|
$ff.goto(url)
|
6
6
|
end
|
7
7
|
|
8
8
|
#Refresh
|
9
|
-
def refresh
|
9
|
+
def self.refresh
|
10
10
|
$ff.refresh
|
11
11
|
end
|
12
12
|
|
13
|
-
def xxx
|
13
|
+
def self.xxx
|
14
14
|
$ff.close
|
15
15
|
end
|
16
16
|
|
17
17
|
#Link
|
18
|
-
def clickLinktext(text)
|
18
|
+
def self.clickLinktext(text)
|
19
19
|
waitExists($ff.link(:text,text))
|
20
20
|
$ff.link(:text,text).click
|
21
21
|
end
|
22
22
|
|
23
|
-
def clickLinkid(text)
|
23
|
+
def self.clickLinkid(text)
|
24
24
|
waitExists($ff.link(:id,text))
|
25
25
|
$ff.link(:id,text).click
|
26
26
|
end
|
27
27
|
|
28
|
-
def clickLinkhref(name)
|
28
|
+
def self.clickLinkhref(name)
|
29
29
|
waitExists($ff.link(:href,name))
|
30
30
|
$ff.link(:href,name).click
|
31
31
|
end
|
32
32
|
|
33
|
-
def clickLinktitle(text)
|
33
|
+
def self.clickLinktitle(text)
|
34
34
|
waitExists($ff.link(:title,text))
|
35
35
|
$ff.link(:title,text).click
|
36
36
|
end
|
37
37
|
|
38
|
-
def clickLinkclass(text)
|
38
|
+
def self.clickLinkclass(text)
|
39
39
|
waitExists($ff.link(:class,text))
|
40
40
|
$ff.link(:class,text).click
|
41
41
|
end
|
42
42
|
|
43
43
|
#Button
|
44
|
-
def clickButtonid(text)
|
44
|
+
def self.clickButtonid(text)
|
45
45
|
waitExists($ff.button(:id,text))
|
46
46
|
$ff.button(:id,text).click
|
47
47
|
end
|
48
48
|
|
49
|
-
def clickButtonname(text)
|
49
|
+
def self.clickButtonname(text)
|
50
50
|
waitExists($ff.button(:name,text))
|
51
51
|
$ff.button(:name,text).click
|
52
52
|
end
|
53
53
|
|
54
54
|
#Image
|
55
|
-
def clickImagesrc(text)
|
55
|
+
def self.clickImagesrc(text)
|
56
56
|
waitExists($ff.image(:src,text))
|
57
57
|
$ff.image(:src,text).click
|
58
58
|
end
|
@@ -63,7 +63,7 @@ end
|
|
63
63
|
#type = 2:value<br>
|
64
64
|
#type = 3:append<br>
|
65
65
|
#type = 4:focus<br>
|
66
|
-
def setTextfieldid(text1,text2,type=1)
|
66
|
+
def self.setTextfieldid(text1,text2,type=1)
|
67
67
|
waitExists($ff.text_field(:id,text1))
|
68
68
|
if type == 1 then
|
69
69
|
$ff.text_field(:id,text1).set(text2)
|
@@ -81,7 +81,7 @@ end
|
|
81
81
|
#type = 1: set(d),<br>
|
82
82
|
#type = 2:value,<br>
|
83
83
|
#type = 3:append<br>
|
84
|
-
def setTextfieldname(text1,text2,type=1)
|
84
|
+
def self.setTextfieldname(text1,text2,type=1)
|
85
85
|
|
86
86
|
waitExists($ff.text_field(:name,text1))
|
87
87
|
if type == 1 then
|
@@ -98,7 +98,7 @@ end
|
|
98
98
|
#type = 1: set(d),<br>
|
99
99
|
#type = 2:value,<br>
|
100
100
|
#type = 3:append<br>
|
101
|
-
def setTextfieldclass(text1,text2,type=1)
|
101
|
+
def self.setTextfieldclass(text1,text2,type=1)
|
102
102
|
|
103
103
|
waitExists($ff.text_field(:class,text1))
|
104
104
|
if type == 1 then
|
@@ -109,39 +109,39 @@ def setTextfieldclass(text1,text2,type=1)
|
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
112
|
-
def verifyTextfieldid(text1,text2)
|
112
|
+
def self.verifyTextfieldid(text1,text2)
|
113
113
|
waitExists( $ff.text_field(:id,text1) )
|
114
114
|
assert($ff.text_field(:id, text1).verify_contains(text2) )
|
115
115
|
end
|
116
116
|
|
117
|
-
def verifyTextfieldname(text1,text2)
|
117
|
+
def self.verifyTextfieldname(text1,text2)
|
118
118
|
waitExists( $ff.text_field(:name,text1) )
|
119
119
|
assert($ff.text_field(:name, text1).verify_contains(text2) )
|
120
120
|
end
|
121
121
|
|
122
122
|
#Filefield
|
123
|
-
def setfilefieldid(text1,text2)
|
123
|
+
def self.setfilefieldid(text1,text2)
|
124
124
|
waitExists($ff.file_field(:id,text1))
|
125
125
|
$ff.file_field(:id,text1).set(text2)
|
126
126
|
end
|
127
127
|
|
128
|
-
def setfilefieldname(text1,text2)
|
128
|
+
def self.setfilefieldname(text1,text2)
|
129
129
|
waitExists($ff.file_field(:name,text1))
|
130
130
|
$ff.file_field(:name,text1).set(text2)
|
131
131
|
end
|
132
132
|
|
133
133
|
#Form
|
134
|
-
def submitFormid(text)
|
134
|
+
def self.submitFormid(text)
|
135
135
|
waitExists($ff.form(:id,text))
|
136
136
|
$ff.form(:id,text).submit
|
137
137
|
end
|
138
138
|
|
139
|
-
def getFormid(text)
|
139
|
+
def self.getFormid(text)
|
140
140
|
waitExists($ff.form(:id,text))
|
141
141
|
return $ff.form(:id,text)
|
142
142
|
end
|
143
143
|
|
144
|
-
def getFormaction(text)
|
144
|
+
def self.getFormaction(text)
|
145
145
|
waitExists($ff.form(:action,text))
|
146
146
|
nwait(1)
|
147
147
|
sleep(1)
|
@@ -149,42 +149,42 @@ def getFormaction(text)
|
|
149
149
|
end
|
150
150
|
|
151
151
|
#Frame
|
152
|
-
def getFrameid(text)
|
152
|
+
def self.getFrameid(text)
|
153
153
|
waitExists($ff.frame(:id,text))
|
154
154
|
return $ff.frame(:id,text)
|
155
155
|
end
|
156
156
|
|
157
|
-
def getFrameindex(text)
|
157
|
+
def self.getFrameindex(text)
|
158
158
|
waitExists($ff.frame(:index,text))
|
159
159
|
return $ff.frame(:index,text)
|
160
160
|
end
|
161
161
|
|
162
|
-
def getFramesrc(text)
|
162
|
+
def self.getFramesrc(text)
|
163
163
|
waitExists($ff.frame(:src,text))
|
164
164
|
return $ff.frame(:src,text)
|
165
165
|
end
|
166
166
|
|
167
167
|
#Table
|
168
|
-
def getTableid(text)
|
168
|
+
def self.getTableid(text)
|
169
169
|
waitExists( $ff.table(:id,text) )
|
170
170
|
sleep(1)
|
171
171
|
return $ff.table(:id,text)
|
172
172
|
end
|
173
173
|
|
174
174
|
#Div
|
175
|
-
def getDivclass(text)
|
175
|
+
def self.getDivclass(text)
|
176
176
|
waitExists( $ff.div(:class,text) )
|
177
177
|
nwait(1)
|
178
178
|
return $ff.div(:class,text)
|
179
179
|
end
|
180
180
|
|
181
|
-
def getDivid(text)
|
181
|
+
def self.getDivid(text)
|
182
182
|
waitExists( $ff.div(:id,text) )
|
183
183
|
nwait(2)
|
184
184
|
return $ff.div(:id,text)
|
185
185
|
end
|
186
186
|
|
187
|
-
def clickDivid(text)
|
187
|
+
def self.clickDivid(text)
|
188
188
|
i = 0
|
189
189
|
begin
|
190
190
|
$ff.div(:id , text).click
|
@@ -200,7 +200,7 @@ def clickDivid(text)
|
|
200
200
|
end
|
201
201
|
|
202
202
|
#Span
|
203
|
-
def clickSpanid(text)
|
203
|
+
def self.clickSpanid(text)
|
204
204
|
i = 0
|
205
205
|
begin
|
206
206
|
$ff.span(:id , text).click
|
@@ -215,7 +215,7 @@ def clickSpanid(text)
|
|
215
215
|
end
|
216
216
|
end
|
217
217
|
|
218
|
-
def clickSpanclass(text)
|
218
|
+
def self.clickSpanclass(text)
|
219
219
|
i = 0
|
220
220
|
begin
|
221
221
|
$ff.span(:class , text).click
|
@@ -230,7 +230,7 @@ def clickSpanclass(text)
|
|
230
230
|
end
|
231
231
|
end
|
232
232
|
|
233
|
-
def clickSpanxpath(text)
|
233
|
+
def self.clickSpanxpath(text)
|
234
234
|
i = 0
|
235
235
|
begin
|
236
236
|
$ff.span(:xpath , text).click
|
@@ -246,22 +246,22 @@ def clickSpanxpath(text)
|
|
246
246
|
end
|
247
247
|
|
248
248
|
#Checkbox
|
249
|
-
def setCheckboxid(name)
|
249
|
+
def self.setCheckboxid(name)
|
250
250
|
waitExists($ff.checkbox(:id,name))
|
251
251
|
$ff.checkbox(:id,name).set
|
252
252
|
end
|
253
253
|
|
254
|
-
def setCheckboxname(name)
|
254
|
+
def self.setCheckboxname(name)
|
255
255
|
waitExists($ff.checkbox(:name,name))
|
256
256
|
$ff.checkbox(:name,name).set
|
257
257
|
end
|
258
258
|
|
259
|
-
def setCheckboxvalue(name)
|
259
|
+
def self.setCheckboxvalue(name)
|
260
260
|
waitExists($ff.checkbox(:value,name))
|
261
261
|
$ff.checkbox(:value,name).set
|
262
262
|
end
|
263
263
|
|
264
|
-
def clearCheckboxid(name)
|
264
|
+
def self.clearCheckboxid(name)
|
265
265
|
waitExists($ff.checkbox(:id,name))
|
266
266
|
$ff.checkbox(:id,name).clear
|
267
267
|
end
|
@@ -269,7 +269,7 @@ end
|
|
269
269
|
#Select_list:<br>
|
270
270
|
#type = 1: text(d),<br>
|
271
271
|
#type = 2: value,<br>
|
272
|
-
def setSelectlistid(name,value,type=1)
|
272
|
+
def self.setSelectlistid(name,value,type=1)
|
273
273
|
waitExists($ff.select_list(:id,name))
|
274
274
|
if type == 1 then
|
275
275
|
$ff.select_list(:id,name).select(value)
|
@@ -278,80 +278,80 @@ def setSelectlistid(name,value,type=1)
|
|
278
278
|
end
|
279
279
|
end
|
280
280
|
|
281
|
-
def getSelectlistid(text)
|
281
|
+
def self.getSelectlistid(text)
|
282
282
|
waitExists($ff.select_list(:id,text))
|
283
283
|
nwait(1)
|
284
284
|
return $ff.select_list(:id,text)
|
285
285
|
end
|
286
286
|
|
287
287
|
#Radio
|
288
|
-
def setRadiovalue(value)
|
288
|
+
def self.setRadiovalue(value)
|
289
289
|
waitExists($ff.radio(:value,value))
|
290
290
|
$ff.radio(:value,value).set
|
291
291
|
end
|
292
292
|
|
293
|
-
def setRadioid(id)
|
293
|
+
def self.setRadioid(id)
|
294
294
|
waitExists($ff.radio(:id,id))
|
295
295
|
$ff.radio(:id,id).set
|
296
296
|
end
|
297
297
|
#Alert
|
298
|
-
def clickalertLinktext(name)
|
298
|
+
def self.clickalertLinktext(name)
|
299
299
|
waitExists($ff.link(:text,name))
|
300
300
|
$ff.startClicker("OK")
|
301
301
|
$ff.link(:text,name).click
|
302
302
|
end
|
303
303
|
|
304
|
-
def clickalertLinkid(name)
|
304
|
+
def self.clickalertLinkid(name)
|
305
305
|
waitExists($ff.link(:id,name))
|
306
306
|
$ff.startClicker("OK")
|
307
307
|
$ff.link(:id,name).click
|
308
308
|
end
|
309
309
|
|
310
|
-
def clickalertLinktitle(name)
|
310
|
+
def self.clickalertLinktitle(name)
|
311
311
|
waitExists($ff.link(:title,name))
|
312
312
|
$ff.startClicker("OK")
|
313
313
|
$ff.link(:title,name).click
|
314
314
|
end
|
315
315
|
|
316
|
-
def clickalertLinkclass(name)
|
316
|
+
def self.clickalertLinkclass(name)
|
317
317
|
waitExists($ff.link(:class,name))
|
318
318
|
$ff.startClicker("OK")
|
319
319
|
$ff.link(:class,name).click
|
320
320
|
end
|
321
321
|
|
322
|
-
def clickalertButtonid(name)
|
322
|
+
def self.clickalertButtonid(name)
|
323
323
|
waitExists($ff.button(:id,name))
|
324
324
|
$ff.startClicker("OK")
|
325
325
|
$ff.button(:id,name).click
|
326
326
|
end
|
327
327
|
|
328
|
-
def clickalertButtonname(name)
|
328
|
+
def self.clickalertButtonname(name)
|
329
329
|
waitExists($ff.button(:name,name))
|
330
330
|
$ff.startClicker("OK")
|
331
331
|
$ff.button(:name,name).click
|
332
332
|
end
|
333
333
|
|
334
|
-
def clickalertElement(name)
|
334
|
+
def self.clickalertElement(name)
|
335
335
|
waitExists(name)
|
336
336
|
$ff.startClicker("OK")
|
337
337
|
name.click
|
338
338
|
end
|
339
339
|
|
340
|
-
def clickalertImagesrc(text)
|
340
|
+
def self.clickalertImagesrc(text)
|
341
341
|
waitExists( $ff.image(:src,text) )
|
342
342
|
$ff.startClicker("OK")
|
343
343
|
$ff.image(:src,text).click
|
344
344
|
sleep(2)
|
345
345
|
end
|
346
346
|
|
347
|
-
def clickalertImageid(text)
|
347
|
+
def self.clickalertImageid(text)
|
348
348
|
waitExists( $ff.image(:id,text) )
|
349
349
|
$ff.startClicker("OK")
|
350
350
|
$ff.image(:id,text).click
|
351
351
|
sleep(2)
|
352
352
|
end
|
353
353
|
|
354
|
-
def click_javascript_button()
|
354
|
+
def self.click_javascript_button()
|
355
355
|
path = File.join(File.dirname(__FILE__), "javascriptPopup.rb")
|
356
356
|
Thread.new { system("ruby \"#{path}\"") }
|
357
357
|
yield
|
@@ -360,14 +360,14 @@ end
|
|
360
360
|
|
361
361
|
#E: Alert
|
362
362
|
|
363
|
-
def nwait(n=1)
|
363
|
+
def self.nwait(n=1)
|
364
364
|
for i in 1..n
|
365
365
|
$ff.wait
|
366
366
|
end
|
367
367
|
end
|
368
368
|
|
369
369
|
#Attach
|
370
|
-
def getAttachurl(url)
|
370
|
+
def self.getAttachurl(url)
|
371
371
|
i = 0
|
372
372
|
begin
|
373
373
|
ff1 = $ff.attach(:url,url)
|
@@ -385,7 +385,7 @@ def getAttachurl(url)
|
|
385
385
|
end
|
386
386
|
end
|
387
387
|
|
388
|
-
def getAttachtitle(title)
|
388
|
+
def self.getAttachtitle(title)
|
389
389
|
i = 0
|
390
390
|
begin
|
391
391
|
ff1 = $ff.attach(:title,title)
|
@@ -405,7 +405,7 @@ end
|
|
405
405
|
|
406
406
|
#Javascript event:<br>
|
407
407
|
#type = 1: onMouseOver(d)
|
408
|
-
def fire_event(element,type = 1)
|
408
|
+
def self.fire_event(element,type = 1)
|
409
409
|
waitExists(element)
|
410
410
|
if type == 1 then
|
411
411
|
element.fire_event("onMouseOver")
|
@@ -413,7 +413,7 @@ def fire_event(element,type = 1)
|
|
413
413
|
end
|
414
414
|
|
415
415
|
#Wait Element show use class Waiter
|
416
|
-
def wait_ut(text)
|
416
|
+
def self.wait_ut(text)
|
417
417
|
Watir::Waiter.wait_until($timeout) { text }
|
418
418
|
end
|
419
419
|
end
|
data/lib/function/assertions.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
-
|
2
1
|
#E: Assert
|
3
2
|
#Assertion text in page
|
4
|
-
module
|
5
|
-
def assertText(text)
|
3
|
+
module Qa
|
4
|
+
def self.assertText(text)
|
6
5
|
i = 0
|
7
6
|
while !$ff.contains_text(text) do
|
8
7
|
sleep(1)
|
@@ -15,7 +14,7 @@ def assertText(text)
|
|
15
14
|
end
|
16
15
|
|
17
16
|
#Assert False text in page
|
18
|
-
def assertfalseText(text)
|
17
|
+
def self.assertfalseText(text)
|
19
18
|
i = 0
|
20
19
|
while $ff.contains_text(text) do
|
21
20
|
sleep(1)
|
@@ -33,7 +32,7 @@ end
|
|
33
32
|
#type = 3:url<br>
|
34
33
|
#type = 4:value<br>
|
35
34
|
#type = 5:maxlength<br>
|
36
|
-
def assertEqual(value1,value2,type=1)
|
35
|
+
def self.assertEqual(value1,value2,type=1)
|
37
36
|
i = 0
|
38
37
|
if type == 1 then
|
39
38
|
begin
|
@@ -92,7 +91,7 @@ end
|
|
92
91
|
#type = 2:title,<br>
|
93
92
|
#type = 3:url<br>
|
94
93
|
#type = 4:value<br>
|
95
|
-
def assertfalseEqual(value1,value2,type=1)
|
94
|
+
def self.assertfalseEqual(value1,value2,type=1)
|
96
95
|
i = 0
|
97
96
|
if type == 1 then
|
98
97
|
while value2.text == value1 do
|
@@ -135,7 +134,7 @@ def assertfalseEqual(value1,value2,type=1)
|
|
135
134
|
end
|
136
135
|
|
137
136
|
#Wait Element show
|
138
|
-
def waitExists(text,type = 1)
|
137
|
+
def self.waitExists(text,type = 1)
|
139
138
|
i = 0
|
140
139
|
if type == 1 then
|
141
140
|
while !text.exists? do
|
@@ -160,7 +159,7 @@ def waitExists(text,type = 1)
|
|
160
159
|
end
|
161
160
|
|
162
161
|
#Wait Element none
|
163
|
-
def waitfalseExists(text)
|
162
|
+
def self.waitfalseExists(text)
|
164
163
|
i = 0
|
165
164
|
while text.exists? do
|
166
165
|
sleep(1)
|
@@ -177,7 +176,7 @@ end
|
|
177
176
|
#tags = 3: Table<br>
|
178
177
|
#tags = 4: Textfield<br>
|
179
178
|
#tags = 5: Div<br>
|
180
|
-
def falseExistsid(text,tags=1)
|
179
|
+
def self.falseExistsid(text,tags=1)
|
181
180
|
if tags == 1 then
|
182
181
|
i = 0
|
183
182
|
while $ff.link(:id,text).exists? do
|
@@ -220,7 +219,7 @@ def falseExistsid(text,tags=1)
|
|
220
219
|
end
|
221
220
|
|
222
221
|
#tags = 1: Link(d)
|
223
|
-
def falseExiststext(text,tags=1)
|
222
|
+
def self.falseExiststext(text,tags=1)
|
224
223
|
if tags == 1 then
|
225
224
|
i = 0
|
226
225
|
while $ff.link(:text,text).exists? do
|
@@ -235,7 +234,7 @@ def falseExiststext(text,tags=1)
|
|
235
234
|
end
|
236
235
|
|
237
236
|
#tags = 1: Link(d)
|
238
|
-
def falseExistsclass(text,tags=1)
|
237
|
+
def self.falseExistsclass(text,tags=1)
|
239
238
|
if tags == 1 then
|
240
239
|
i = 0
|
241
240
|
while $ff.link(:class,text).exists? do
|
@@ -252,7 +251,7 @@ end
|
|
252
251
|
|
253
252
|
|
254
253
|
#tags = 1: Link(d)
|
255
|
-
def falseExistshref(text,tags=1)
|
254
|
+
def self.falseExistshref(text,tags=1)
|
256
255
|
if tags == 1 then
|
257
256
|
i = 0
|
258
257
|
while $ff.link(:href,text).exists? do
|
@@ -267,7 +266,7 @@ def falseExistshref(text,tags=1)
|
|
267
266
|
end
|
268
267
|
|
269
268
|
#tags = 1: Link(d)
|
270
|
-
def falseExistsindex(browser,text,tags=1)
|
269
|
+
def self.falseExistsindex(browser,text,tags=1)
|
271
270
|
if tags == 1 then
|
272
271
|
i = 0
|
273
272
|
while browser.link(:index,text).exists? do
|
@@ -281,7 +280,7 @@ def falseExistsindex(browser,text,tags=1)
|
|
281
280
|
end
|
282
281
|
end
|
283
282
|
|
284
|
-
def returnwaitExists(text)
|
283
|
+
def self.returnwaitExists(text)
|
285
284
|
sleep(0.5)
|
286
285
|
nwait(1)
|
287
286
|
if text.exists? then
|
data/lib/function/sfunction.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
module
|
2
|
-
def decoder(n)
|
1
|
+
module Qs
|
2
|
+
def self.decoder(n)
|
3
3
|
str = [" ","!","\"","#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";",
|
4
4
|
"<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
|
5
5
|
"[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x",
|
@@ -17,7 +17,7 @@ end
|
|
17
17
|
#i=41: 0-9 <br>
|
18
18
|
#i=5: @domain<br>
|
19
19
|
#i=10: Ho va Ten<br>
|
20
|
-
def getRandomString(n,i)
|
20
|
+
def self.getRandomString(n,i)
|
21
21
|
str = ""
|
22
22
|
|
23
23
|
str1 = ["0","1","2","3","4","5","6","7","8","9",
|
@@ -81,7 +81,7 @@ def getRandomString(n,i)
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
def randfromto(a,b)
|
84
|
+
def self.randfromto(a,b)
|
85
85
|
x = rand(b)
|
86
86
|
while x < a do
|
87
87
|
x = rand(b)
|
@@ -89,7 +89,7 @@ def randfromto(a,b)
|
|
89
89
|
return x
|
90
90
|
end
|
91
91
|
|
92
|
-
def cutEndline(text)
|
92
|
+
def self.cutEndline(text)
|
93
93
|
if text[text.length-1] <32 or text[text.length-1] > 126 then
|
94
94
|
for i in 0..text.length-2
|
95
95
|
abc = "#{abc}#{decoder(text[i])}"
|
@@ -103,7 +103,7 @@ def cutEndline(text)
|
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
106
|
-
def readExcel(dir)
|
106
|
+
def self.readExcel(dir)
|
107
107
|
$excel = WIN32OLE.new("excel.application")
|
108
108
|
$excel.visible = true
|
109
109
|
$workbook = $excel.workbooks.open("#{$mydir}\\#{dir}")
|
@@ -111,13 +111,13 @@ def readExcel(dir)
|
|
111
111
|
$workbook = $excel.ActiveWorkbook
|
112
112
|
end
|
113
113
|
|
114
|
-
def saveExcel
|
114
|
+
def self.saveExcel
|
115
115
|
$workbook.Save
|
116
116
|
$workbook.Close
|
117
117
|
$excel.Quit
|
118
118
|
end
|
119
119
|
|
120
|
-
def getFile(name)
|
120
|
+
def self.getFile(name)
|
121
121
|
begin
|
122
122
|
$f = IO.readlines(name)
|
123
123
|
return true
|
data/lib/qfunction.rb
CHANGED
@@ -6,4 +6,366 @@ require 'win32ole'
|
|
6
6
|
|
7
7
|
require "function/HTMLElement"
|
8
8
|
require "function/assertions"
|
9
|
-
require "function/sfunction"
|
9
|
+
require "function/sfunction"
|
10
|
+
|
11
|
+
#B: HTML
|
12
|
+
#Goto url
|
13
|
+
def goto(url)
|
14
|
+
Qh.goto(url)
|
15
|
+
end
|
16
|
+
|
17
|
+
#Refresh
|
18
|
+
def refresh
|
19
|
+
Qh.refresh
|
20
|
+
end
|
21
|
+
|
22
|
+
def xxx
|
23
|
+
Qh..xxx
|
24
|
+
end
|
25
|
+
|
26
|
+
#Link
|
27
|
+
def clickLinktext(text)
|
28
|
+
Qh..clickLinktext(text)
|
29
|
+
end
|
30
|
+
|
31
|
+
def clickLinkid(text)
|
32
|
+
Qh.clickLinkid(text)
|
33
|
+
end
|
34
|
+
|
35
|
+
def clickLinkhref(name)
|
36
|
+
Qh.clickLinkhref(name)
|
37
|
+
end
|
38
|
+
|
39
|
+
def clickLinktitle(text)
|
40
|
+
Qh.clickLinktitle(text)
|
41
|
+
end
|
42
|
+
|
43
|
+
def clickLinkclass(text)
|
44
|
+
Qh.clickLinkclass(text)
|
45
|
+
end
|
46
|
+
|
47
|
+
#Button
|
48
|
+
def clickButtonid(text)
|
49
|
+
Qh.clickButtonid(text)
|
50
|
+
end
|
51
|
+
|
52
|
+
def clickButtonname(text)
|
53
|
+
Qh.clickButtonname(text)
|
54
|
+
end
|
55
|
+
|
56
|
+
#Image
|
57
|
+
def clickImagesrc(text)
|
58
|
+
Qh.clickImagesrc(text)
|
59
|
+
end
|
60
|
+
|
61
|
+
#Textfield
|
62
|
+
#Set TextField "ID"<br>
|
63
|
+
#type = 1: set(d)<br>
|
64
|
+
#type = 2:value<br>
|
65
|
+
#type = 3:append<br>
|
66
|
+
#type = 4:focus<br>
|
67
|
+
def setTextfieldid(text1,text2,type=1)
|
68
|
+
Qh.setTextfieldid(text1, text2, type)
|
69
|
+
end
|
70
|
+
#Set TextField (Name),<br>
|
71
|
+
#text1 = name,<br>
|
72
|
+
#text2 = String,<br>
|
73
|
+
#type = 1: set(d),<br>
|
74
|
+
#type = 2:value,<br>
|
75
|
+
#type = 3:append<br>
|
76
|
+
def setTextfieldname(text1,text2,type=1)
|
77
|
+
Qh.setTextfieldname(text1, text2, type)
|
78
|
+
end
|
79
|
+
|
80
|
+
#Set TextField (Class),<br>
|
81
|
+
#text1 = name,<br>
|
82
|
+
#text2 = String,<br>
|
83
|
+
#type = 1: set(d),<br>
|
84
|
+
#type = 2:value,<br>
|
85
|
+
#type = 3:append<br>
|
86
|
+
def setTextfieldclass(text1,text2,type=1)
|
87
|
+
Qh.setTextfieldclass(text1, text2, type)
|
88
|
+
end
|
89
|
+
|
90
|
+
def verifyTextfieldid(text1,text2)
|
91
|
+
Qh.verifyTextfieldid(text1, text2)
|
92
|
+
end
|
93
|
+
|
94
|
+
def verifyTextfieldname(text1,text2)
|
95
|
+
Qh.verifyTextfieldname(text1, text2)
|
96
|
+
end
|
97
|
+
|
98
|
+
#Filefield
|
99
|
+
def setfilefieldid(text1,text2)
|
100
|
+
Qh.setfilefieldid(text1,text2)
|
101
|
+
end
|
102
|
+
|
103
|
+
def setfilefieldname(text1,text2)
|
104
|
+
Qh.setfilefieldname(text1,text2)
|
105
|
+
end
|
106
|
+
|
107
|
+
#Form
|
108
|
+
def submitFormid(text)
|
109
|
+
Qh.submitFormid(text)
|
110
|
+
end
|
111
|
+
|
112
|
+
def getFormid(text)
|
113
|
+
return Qh.getFormid(text)
|
114
|
+
end
|
115
|
+
|
116
|
+
def getFormaction(text)
|
117
|
+
return Qh.getFormaction(text)
|
118
|
+
end
|
119
|
+
|
120
|
+
#Frame
|
121
|
+
def getFrameid(text)
|
122
|
+
return Qh.getFrameid(text)
|
123
|
+
end
|
124
|
+
|
125
|
+
def getFrameindex(text)
|
126
|
+
return Qh.getFrameindex(text)
|
127
|
+
end
|
128
|
+
|
129
|
+
def getFramesrc(text)
|
130
|
+
return Qh.getFramesrc(text)
|
131
|
+
end
|
132
|
+
|
133
|
+
#Table
|
134
|
+
def getTableid(text)
|
135
|
+
return Qh.getTableid(text)
|
136
|
+
end
|
137
|
+
|
138
|
+
#Div
|
139
|
+
def getDivclass(text)
|
140
|
+
return Qh.getDivclass(text)
|
141
|
+
end
|
142
|
+
|
143
|
+
def getDivid(text)
|
144
|
+
return Qh.getDivid(text)
|
145
|
+
end
|
146
|
+
|
147
|
+
def clickDivid(text)
|
148
|
+
Qh.clickDivid(text)
|
149
|
+
end
|
150
|
+
|
151
|
+
#Span
|
152
|
+
def clickSpanid(text)
|
153
|
+
Qh.clickSpanid(text)
|
154
|
+
end
|
155
|
+
|
156
|
+
def clickSpanclass(text)
|
157
|
+
Qh.clickSpanclass(text)
|
158
|
+
end
|
159
|
+
|
160
|
+
def clickSpanxpath(text)
|
161
|
+
Qh.clickSpanxpath(text)
|
162
|
+
end
|
163
|
+
|
164
|
+
#Checkbox
|
165
|
+
def setCheckboxid(name)
|
166
|
+
Qh.setCheckboxid(name)
|
167
|
+
end
|
168
|
+
|
169
|
+
def setCheckboxname(name)
|
170
|
+
Qh.setCheckboxname(name)
|
171
|
+
end
|
172
|
+
|
173
|
+
def setCheckboxvalue(name)
|
174
|
+
Qh.setCheckboxvalue(name)
|
175
|
+
end
|
176
|
+
|
177
|
+
def clearCheckboxid(name)
|
178
|
+
Qh.clearCheckboxid(name)
|
179
|
+
end
|
180
|
+
|
181
|
+
#Select_list:<br>
|
182
|
+
#type = 1: text(d),<br>
|
183
|
+
#type = 2: value,<br>
|
184
|
+
def setSelectlistid(name,value,type=1)
|
185
|
+
Qh.setSelectlistid(name,value,type)
|
186
|
+
end
|
187
|
+
|
188
|
+
def getSelectlistid(text)
|
189
|
+
return Qh.getSelectlistid(text)
|
190
|
+
end
|
191
|
+
|
192
|
+
#Radio
|
193
|
+
def setRadiovalue(value)
|
194
|
+
Qh.setRadiovalue(value)
|
195
|
+
end
|
196
|
+
|
197
|
+
def setRadioid(id)
|
198
|
+
Qh.setRadioid(id)
|
199
|
+
end
|
200
|
+
#Alert
|
201
|
+
def clickalertLinktext(name)
|
202
|
+
Qh.clickalertLinktext(name)
|
203
|
+
end
|
204
|
+
|
205
|
+
def clickalertLinkid(name)
|
206
|
+
Qh.clickalertLinkid(name)
|
207
|
+
end
|
208
|
+
|
209
|
+
def clickalertLinktitle(name)
|
210
|
+
Qh.clickalertLinktitle(name)
|
211
|
+
end
|
212
|
+
|
213
|
+
def clickalertLinkclass(name)
|
214
|
+
Qh.clickalertLinkclass(name)
|
215
|
+
end
|
216
|
+
|
217
|
+
def clickalertButtonid(name)
|
218
|
+
Qh.clickalertButtonid(name)
|
219
|
+
end
|
220
|
+
|
221
|
+
def clickalertButtonname(name)
|
222
|
+
Qh.clickalertButtonname(name)
|
223
|
+
end
|
224
|
+
|
225
|
+
def clickalertElement(name)
|
226
|
+
Qh.clickalertElement(name)
|
227
|
+
end
|
228
|
+
|
229
|
+
def clickalertImagesrc(text)
|
230
|
+
Qh.clickalertImagesrc(text)
|
231
|
+
end
|
232
|
+
|
233
|
+
def clickalertImageid(text)
|
234
|
+
Qh.clickalertImageid(text)
|
235
|
+
end
|
236
|
+
|
237
|
+
def click_javascript_button
|
238
|
+
Qh.click_javascript_button()
|
239
|
+
end
|
240
|
+
|
241
|
+
#E: Alert
|
242
|
+
|
243
|
+
def nwait(n=1)
|
244
|
+
Qh.nwait(n)
|
245
|
+
end
|
246
|
+
|
247
|
+
#Attach
|
248
|
+
def getAttachurl(url)
|
249
|
+
return Qh.getAttachurl(url)
|
250
|
+
end
|
251
|
+
|
252
|
+
def getAttachtitle(title)
|
253
|
+
return Qh.getAttachtitle(title)
|
254
|
+
end
|
255
|
+
|
256
|
+
#Javascript event:<br>
|
257
|
+
#type = 1: onMouseOver(d)
|
258
|
+
def fire_event(element,type = 1)
|
259
|
+
Qh.fire_event(element,type)
|
260
|
+
end
|
261
|
+
|
262
|
+
#E: Assert
|
263
|
+
#Assertion text in page
|
264
|
+
def assertText(text)
|
265
|
+
Qa.assertText(text)
|
266
|
+
end
|
267
|
+
|
268
|
+
#Assert False text in page
|
269
|
+
def assertfalseText(text)
|
270
|
+
Qa.assertfalseText(text)
|
271
|
+
end
|
272
|
+
|
273
|
+
#Assert Equal<br>
|
274
|
+
#type = 1:text(default)<br>
|
275
|
+
#type = 2:title<br>
|
276
|
+
#type = 3:url<br>
|
277
|
+
#type = 4:value<br>
|
278
|
+
#type = 5:maxlength<br>
|
279
|
+
def assertEqual(value1,value2,type=1)
|
280
|
+
Qa.assertEqual(value1,value2,type=1)
|
281
|
+
end
|
282
|
+
|
283
|
+
#Assert Equal False,<br>
|
284
|
+
#value1 = "String",<br>
|
285
|
+
#value2 = $ff.text,<br>
|
286
|
+
#type = 1:text(default),<br>
|
287
|
+
#type = 2:title,<br>
|
288
|
+
#type = 3:url<br>
|
289
|
+
#type = 4:value<br>
|
290
|
+
def assertfalseEqual(value1,value2,type=1)
|
291
|
+
Qa.assertfalseEqual(value1,value2,type)
|
292
|
+
end
|
293
|
+
|
294
|
+
#Wait Element show
|
295
|
+
def waitExists(text,type = 1)
|
296
|
+
Qa.waitExists(text,type)
|
297
|
+
end
|
298
|
+
|
299
|
+
#Wait Element none
|
300
|
+
def waitfalseExists(text)
|
301
|
+
Qa.waitfalseExists(text)
|
302
|
+
end
|
303
|
+
|
304
|
+
#tags = 1: Link(d)<br>
|
305
|
+
#tags = 2: Button<br>
|
306
|
+
#tags = 3: Table<br>
|
307
|
+
#tags = 4: Textfield<br>
|
308
|
+
#tags = 5: Div<br>
|
309
|
+
def falseExistsid(text,tags=1)
|
310
|
+
Qa.falseExistsid(text,tags)
|
311
|
+
end
|
312
|
+
|
313
|
+
#tags = 1: Link(d)
|
314
|
+
def falseExiststext(text,tags=1)
|
315
|
+
Qa.falseExiststext(text,tags)
|
316
|
+
end
|
317
|
+
|
318
|
+
#tags = 1: Link(d)
|
319
|
+
def falseExistsclass(text,tags=1)
|
320
|
+
Qa.falseExistsclass(text,tags)
|
321
|
+
end
|
322
|
+
|
323
|
+
|
324
|
+
#tags = 1: Link(d)
|
325
|
+
def falseExistshref(text,tags=1)
|
326
|
+
Qa.falseExistshref(text,tags)
|
327
|
+
end
|
328
|
+
|
329
|
+
#tags = 1: Link(d)
|
330
|
+
def falseExistsindex(browser,text,tags=1)
|
331
|
+
Qa.falseExistsindex(browser,text,tags)
|
332
|
+
end
|
333
|
+
|
334
|
+
def returnwaitExists(text)
|
335
|
+
return Qa.returnwaitExists(text)
|
336
|
+
end
|
337
|
+
#E: Assert
|
338
|
+
def decoder(n)
|
339
|
+
return Qs.decoder(n)
|
340
|
+
end
|
341
|
+
|
342
|
+
#i=1: 0-9,a-z,A-Z<br>
|
343
|
+
#i=2: -_ <br>
|
344
|
+
#i=3: a-z,A-Z<br>
|
345
|
+
#i=4: 0-9<br>
|
346
|
+
#i=41: 0-9 <br>
|
347
|
+
#i=5: @domain<br>
|
348
|
+
#i=10: Ho va Ten<br>
|
349
|
+
def getRandomString(n,i)
|
350
|
+
return Qs.getRandomString(n,i)
|
351
|
+
end
|
352
|
+
|
353
|
+
def randfromto(a,b)
|
354
|
+
return Qs.randfromto(a,b)
|
355
|
+
end
|
356
|
+
|
357
|
+
def cutEndline(text)
|
358
|
+
Qs.cutEndline(text)
|
359
|
+
end
|
360
|
+
|
361
|
+
def readExcel(dir)
|
362
|
+
Qs.readExcel(dir)
|
363
|
+
end
|
364
|
+
|
365
|
+
def saveExcel
|
366
|
+
Qs.saveExcel
|
367
|
+
end
|
368
|
+
|
369
|
+
def getFile(name)
|
370
|
+
return Qs.getFile(name)
|
371
|
+
end
|
data/lib/qstart.rb
CHANGED
@@ -14,3 +14,365 @@ def startBrowser
|
|
14
14
|
$ff = Watir::Browser.new
|
15
15
|
$timeout = 10
|
16
16
|
end
|
17
|
+
|
18
|
+
#B: HTML
|
19
|
+
#Goto url
|
20
|
+
def goto(url)
|
21
|
+
Qh.goto(url)
|
22
|
+
end
|
23
|
+
|
24
|
+
#Refresh
|
25
|
+
def refresh
|
26
|
+
Qh.refresh
|
27
|
+
end
|
28
|
+
|
29
|
+
def xxx
|
30
|
+
Qh..xxx
|
31
|
+
end
|
32
|
+
|
33
|
+
#Link
|
34
|
+
def clickLinktext(text)
|
35
|
+
Qh..clickLinktext(text)
|
36
|
+
end
|
37
|
+
|
38
|
+
def clickLinkid(text)
|
39
|
+
Qh.clickLinkid(text)
|
40
|
+
end
|
41
|
+
|
42
|
+
def clickLinkhref(name)
|
43
|
+
Qh.clickLinkhref(name)
|
44
|
+
end
|
45
|
+
|
46
|
+
def clickLinktitle(text)
|
47
|
+
Qh.clickLinktitle(text)
|
48
|
+
end
|
49
|
+
|
50
|
+
def clickLinkclass(text)
|
51
|
+
Qh.clickLinkclass(text)
|
52
|
+
end
|
53
|
+
|
54
|
+
#Button
|
55
|
+
def clickButtonid(text)
|
56
|
+
Qh.clickButtonid(text)
|
57
|
+
end
|
58
|
+
|
59
|
+
def clickButtonname(text)
|
60
|
+
Qh.clickButtonname(text)
|
61
|
+
end
|
62
|
+
|
63
|
+
#Image
|
64
|
+
def clickImagesrc(text)
|
65
|
+
Qh.clickImagesrc(text)
|
66
|
+
end
|
67
|
+
|
68
|
+
#Textfield
|
69
|
+
#Set TextField "ID"<br>
|
70
|
+
#type = 1: set(d)<br>
|
71
|
+
#type = 2:value<br>
|
72
|
+
#type = 3:append<br>
|
73
|
+
#type = 4:focus<br>
|
74
|
+
def setTextfieldid(text1,text2,type=1)
|
75
|
+
Qh.setTextfieldid(text1, text2, type)
|
76
|
+
end
|
77
|
+
#Set TextField (Name),<br>
|
78
|
+
#text1 = name,<br>
|
79
|
+
#text2 = String,<br>
|
80
|
+
#type = 1: set(d),<br>
|
81
|
+
#type = 2:value,<br>
|
82
|
+
#type = 3:append<br>
|
83
|
+
def setTextfieldname(text1,text2,type=1)
|
84
|
+
Qh.setTextfieldname(text1, text2, type)
|
85
|
+
end
|
86
|
+
|
87
|
+
#Set TextField (Class),<br>
|
88
|
+
#text1 = name,<br>
|
89
|
+
#text2 = String,<br>
|
90
|
+
#type = 1: set(d),<br>
|
91
|
+
#type = 2:value,<br>
|
92
|
+
#type = 3:append<br>
|
93
|
+
def setTextfieldclass(text1,text2,type=1)
|
94
|
+
Qh.setTextfieldclass(text1, text2, type)
|
95
|
+
end
|
96
|
+
|
97
|
+
def verifyTextfieldid(text1,text2)
|
98
|
+
Qh.verifyTextfieldid(text1, text2)
|
99
|
+
end
|
100
|
+
|
101
|
+
def verifyTextfieldname(text1,text2)
|
102
|
+
Qh.verifyTextfieldname(text1, text2)
|
103
|
+
end
|
104
|
+
|
105
|
+
#Filefield
|
106
|
+
def setfilefieldid(text1,text2)
|
107
|
+
Qh.setfilefieldid(text1,text2)
|
108
|
+
end
|
109
|
+
|
110
|
+
def setfilefieldname(text1,text2)
|
111
|
+
Qh.setfilefieldname(text1,text2)
|
112
|
+
end
|
113
|
+
|
114
|
+
#Form
|
115
|
+
def submitFormid(text)
|
116
|
+
Qh.submitFormid(text)
|
117
|
+
end
|
118
|
+
|
119
|
+
def getFormid(text)
|
120
|
+
return Qh.getFormid(text)
|
121
|
+
end
|
122
|
+
|
123
|
+
def getFormaction(text)
|
124
|
+
return Qh.getFormaction(text)
|
125
|
+
end
|
126
|
+
|
127
|
+
#Frame
|
128
|
+
def getFrameid(text)
|
129
|
+
return Qh.getFrameid(text)
|
130
|
+
end
|
131
|
+
|
132
|
+
def getFrameindex(text)
|
133
|
+
return Qh.getFrameindex(text)
|
134
|
+
end
|
135
|
+
|
136
|
+
def getFramesrc(text)
|
137
|
+
return Qh.getFramesrc(text)
|
138
|
+
end
|
139
|
+
|
140
|
+
#Table
|
141
|
+
def getTableid(text)
|
142
|
+
return Qh.getTableid(text)
|
143
|
+
end
|
144
|
+
|
145
|
+
#Div
|
146
|
+
def getDivclass(text)
|
147
|
+
return Qh.getDivclass(text)
|
148
|
+
end
|
149
|
+
|
150
|
+
def getDivid(text)
|
151
|
+
return Qh.getDivid(text)
|
152
|
+
end
|
153
|
+
|
154
|
+
def clickDivid(text)
|
155
|
+
Qh.clickDivid(text)
|
156
|
+
end
|
157
|
+
|
158
|
+
#Span
|
159
|
+
def clickSpanid(text)
|
160
|
+
Qh.clickSpanid(text)
|
161
|
+
end
|
162
|
+
|
163
|
+
def clickSpanclass(text)
|
164
|
+
Qh.clickSpanclass(text)
|
165
|
+
end
|
166
|
+
|
167
|
+
def clickSpanxpath(text)
|
168
|
+
Qh.clickSpanxpath(text)
|
169
|
+
end
|
170
|
+
|
171
|
+
#Checkbox
|
172
|
+
def setCheckboxid(name)
|
173
|
+
Qh.setCheckboxid(name)
|
174
|
+
end
|
175
|
+
|
176
|
+
def setCheckboxname(name)
|
177
|
+
Qh.setCheckboxname(name)
|
178
|
+
end
|
179
|
+
|
180
|
+
def setCheckboxvalue(name)
|
181
|
+
Qh.setCheckboxvalue(name)
|
182
|
+
end
|
183
|
+
|
184
|
+
def clearCheckboxid(name)
|
185
|
+
Qh.clearCheckboxid(name)
|
186
|
+
end
|
187
|
+
|
188
|
+
#Select_list:<br>
|
189
|
+
#type = 1: text(d),<br>
|
190
|
+
#type = 2: value,<br>
|
191
|
+
def setSelectlistid(name,value,type=1)
|
192
|
+
Qh.setSelectlistid(name,value,type)
|
193
|
+
end
|
194
|
+
|
195
|
+
def getSelectlistid(text)
|
196
|
+
return Qh.getSelectlistid(text)
|
197
|
+
end
|
198
|
+
|
199
|
+
#Radio
|
200
|
+
def setRadiovalue(value)
|
201
|
+
Qh.setRadiovalue(value)
|
202
|
+
end
|
203
|
+
|
204
|
+
def setRadioid(id)
|
205
|
+
Qh.setRadioid(id)
|
206
|
+
end
|
207
|
+
#Alert
|
208
|
+
def clickalertLinktext(name)
|
209
|
+
Qh.clickalertLinktext(name)
|
210
|
+
end
|
211
|
+
|
212
|
+
def clickalertLinkid(name)
|
213
|
+
Qh.clickalertLinkid(name)
|
214
|
+
end
|
215
|
+
|
216
|
+
def clickalertLinktitle(name)
|
217
|
+
Qh.clickalertLinktitle(name)
|
218
|
+
end
|
219
|
+
|
220
|
+
def clickalertLinkclass(name)
|
221
|
+
Qh.clickalertLinkclass(name)
|
222
|
+
end
|
223
|
+
|
224
|
+
def clickalertButtonid(name)
|
225
|
+
Qh.clickalertButtonid(name)
|
226
|
+
end
|
227
|
+
|
228
|
+
def clickalertButtonname(name)
|
229
|
+
Qh.clickalertButtonname(name)
|
230
|
+
end
|
231
|
+
|
232
|
+
def clickalertElement(name)
|
233
|
+
Qh.clickalertElement(name)
|
234
|
+
end
|
235
|
+
|
236
|
+
def clickalertImagesrc(text)
|
237
|
+
Qh.clickalertImagesrc(text)
|
238
|
+
end
|
239
|
+
|
240
|
+
def clickalertImageid(text)
|
241
|
+
Qh.clickalertImageid(text)
|
242
|
+
end
|
243
|
+
|
244
|
+
def click_javascript_button
|
245
|
+
Qh.click_javascript_button()
|
246
|
+
end
|
247
|
+
|
248
|
+
#E: Alert
|
249
|
+
|
250
|
+
def nwait(n=1)
|
251
|
+
Qh.nwait(n)
|
252
|
+
end
|
253
|
+
|
254
|
+
#Attach
|
255
|
+
def getAttachurl(url)
|
256
|
+
return Qh.getAttachurl(url)
|
257
|
+
end
|
258
|
+
|
259
|
+
def getAttachtitle(title)
|
260
|
+
return Qh.getAttachtitle(title)
|
261
|
+
end
|
262
|
+
|
263
|
+
#Javascript event:<br>
|
264
|
+
#type = 1: onMouseOver(d)
|
265
|
+
def fire_event(element,type = 1)
|
266
|
+
Qh.fire_event(element,type)
|
267
|
+
end
|
268
|
+
|
269
|
+
#E: Assert
|
270
|
+
#Assertion text in page
|
271
|
+
def assertText(text)
|
272
|
+
Qa.assertText(text)
|
273
|
+
end
|
274
|
+
|
275
|
+
#Assert False text in page
|
276
|
+
def assertfalseText(text)
|
277
|
+
Qa.assertfalseText(text)
|
278
|
+
end
|
279
|
+
|
280
|
+
#Assert Equal<br>
|
281
|
+
#type = 1:text(default)<br>
|
282
|
+
#type = 2:title<br>
|
283
|
+
#type = 3:url<br>
|
284
|
+
#type = 4:value<br>
|
285
|
+
#type = 5:maxlength<br>
|
286
|
+
def assertEqual(value1,value2,type=1)
|
287
|
+
Qa.assertEqual(value1,value2,type=1)
|
288
|
+
end
|
289
|
+
|
290
|
+
#Assert Equal False,<br>
|
291
|
+
#value1 = "String",<br>
|
292
|
+
#value2 = $ff.text,<br>
|
293
|
+
#type = 1:text(default),<br>
|
294
|
+
#type = 2:title,<br>
|
295
|
+
#type = 3:url<br>
|
296
|
+
#type = 4:value<br>
|
297
|
+
def assertfalseEqual(value1,value2,type=1)
|
298
|
+
Qa.assertfalseEqual(value1,value2,type)
|
299
|
+
end
|
300
|
+
|
301
|
+
#Wait Element show
|
302
|
+
def waitExists(text,type = 1)
|
303
|
+
Qa.waitExists(text,type)
|
304
|
+
end
|
305
|
+
|
306
|
+
#Wait Element none
|
307
|
+
def waitfalseExists(text)
|
308
|
+
Qa.waitfalseExists(text)
|
309
|
+
end
|
310
|
+
|
311
|
+
#tags = 1: Link(d)<br>
|
312
|
+
#tags = 2: Button<br>
|
313
|
+
#tags = 3: Table<br>
|
314
|
+
#tags = 4: Textfield<br>
|
315
|
+
#tags = 5: Div<br>
|
316
|
+
def falseExistsid(text,tags=1)
|
317
|
+
Qa.falseExistsid(text,tags)
|
318
|
+
end
|
319
|
+
|
320
|
+
#tags = 1: Link(d)
|
321
|
+
def falseExiststext(text,tags=1)
|
322
|
+
Qa.falseExiststext(text,tags)
|
323
|
+
end
|
324
|
+
|
325
|
+
#tags = 1: Link(d)
|
326
|
+
def falseExistsclass(text,tags=1)
|
327
|
+
Qa.falseExistsclass(text,tags)
|
328
|
+
end
|
329
|
+
|
330
|
+
|
331
|
+
#tags = 1: Link(d)
|
332
|
+
def falseExistshref(text,tags=1)
|
333
|
+
Qa.falseExistshref(text,tags)
|
334
|
+
end
|
335
|
+
|
336
|
+
#tags = 1: Link(d)
|
337
|
+
def falseExistsindex(browser,text,tags=1)
|
338
|
+
Qa.falseExistsindex(browser,text,tags)
|
339
|
+
end
|
340
|
+
|
341
|
+
def returnwaitExists(text)
|
342
|
+
return Qa.returnwaitExists(text)
|
343
|
+
end
|
344
|
+
#E: Assert
|
345
|
+
def decoder(n)
|
346
|
+
return Qs.decoder(n)
|
347
|
+
end
|
348
|
+
|
349
|
+
#i=1: 0-9,a-z,A-Z<br>
|
350
|
+
#i=2: -_ <br>
|
351
|
+
#i=3: a-z,A-Z<br>
|
352
|
+
#i=4: 0-9<br>
|
353
|
+
#i=41: 0-9 <br>
|
354
|
+
#i=5: @domain<br>
|
355
|
+
#i=10: Ho va Ten<br>
|
356
|
+
def getRandomString(n,i)
|
357
|
+
return Qs.getRandomString(n,i)
|
358
|
+
end
|
359
|
+
|
360
|
+
def randfromto(a,b)
|
361
|
+
return Qs.randfromto(a,b)
|
362
|
+
end
|
363
|
+
|
364
|
+
def cutEndline(text)
|
365
|
+
Qs.cutEndline(text)
|
366
|
+
end
|
367
|
+
|
368
|
+
def readExcel(dir)
|
369
|
+
Qs.readExcel(dir)
|
370
|
+
end
|
371
|
+
|
372
|
+
def saveExcel
|
373
|
+
Qs.saveExcel
|
374
|
+
end
|
375
|
+
|
376
|
+
def getFile(name)
|
377
|
+
return Qs.getFile(name)
|
378
|
+
end
|
data/qfunction.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{qfunction}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.4"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["QuangMV, Cyworld Vietnam, 5th Floor, 447 Lac Long Quan Street, Tay Ho Dist, Hanoi, Vietnam"]
|
9
|
-
s.date = %q{2010-09-
|
9
|
+
s.date = %q{2010-09-14}
|
10
10
|
s.description = %q{Funciton}
|
11
11
|
s.email = %q{quangnnt@gmail.com}
|
12
12
|
s.extra_rdoc_files = ["lib/function/HTMLElement.rb", "lib/function/assertions.rb", "lib/function/javascriptPopup.rb", "lib/function/sfunction.rb", "lib/qfunction.rb", "lib/qstart.rb"]
|
13
|
-
s.files = ["Rakefile", "lib/function/HTMLElement.rb", "lib/function/assertions.rb", "lib/function/javascriptPopup.rb", "lib/function/sfunction.rb", "lib/qfunction.rb", "lib/qstart.rb", "
|
13
|
+
s.files = ["Rakefile", "lib/function/HTMLElement.rb", "lib/function/assertions.rb", "lib/function/javascriptPopup.rb", "lib/function/sfunction.rb", "lib/qfunction.rb", "lib/qstart.rb", "qfunction.gemspec", "Manifest"]
|
14
14
|
s.homepage = %q{}
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Qfunction"]
|
16
16
|
s.require_paths = ["lib"]
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 4
|
9
|
+
version: 0.0.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- QuangMV, Cyworld Vietnam, 5th Floor, 447 Lac Long Quan Street, Tay Ho Dist, Hanoi, Vietnam
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-09-
|
17
|
+
date: 2010-09-14 00:00:00 +07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -39,8 +39,8 @@ files:
|
|
39
39
|
- lib/function/sfunction.rb
|
40
40
|
- lib/qfunction.rb
|
41
41
|
- lib/qstart.rb
|
42
|
-
- Manifest
|
43
42
|
- qfunction.gemspec
|
43
|
+
- Manifest
|
44
44
|
has_rdoc: true
|
45
45
|
homepage: ""
|
46
46
|
licenses: []
|