qfunction 0.0.4 → 0.0.5
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 +0 -1
- data/Rakefile +1 -1
- data/lib/function/HTMLElement.rb +54 -54
- data/lib/function/assertions.rb +13 -13
- data/lib/function/sfunction.rb +8 -8
- data/lib/qfunction.rb +3 -362
- data/lib/qstart.rb +4 -362
- data/qfunction.gemspec +2 -2
- metadata +3 -3
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.5') 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
2
|
module Qh
|
|
3
3
|
#Goto url
|
|
4
|
-
def
|
|
4
|
+
def goto(url)
|
|
5
5
|
$ff.goto(url)
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
#Refresh
|
|
9
|
-
def
|
|
9
|
+
def refresh
|
|
10
10
|
$ff.refresh
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
def
|
|
13
|
+
def xxx
|
|
14
14
|
$ff.close
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
#Link
|
|
18
|
-
def
|
|
18
|
+
def clickLinktext(text)
|
|
19
19
|
waitExists($ff.link(:text,text))
|
|
20
20
|
$ff.link(:text,text).click
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
def
|
|
23
|
+
def clickLinkid(text)
|
|
24
24
|
waitExists($ff.link(:id,text))
|
|
25
25
|
$ff.link(:id,text).click
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
def
|
|
28
|
+
def clickLinkhref(name)
|
|
29
29
|
waitExists($ff.link(:href,name))
|
|
30
30
|
$ff.link(:href,name).click
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
def
|
|
33
|
+
def clickLinktitle(text)
|
|
34
34
|
waitExists($ff.link(:title,text))
|
|
35
35
|
$ff.link(:title,text).click
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
def
|
|
38
|
+
def 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
|
|
44
|
+
def clickButtonid(text)
|
|
45
45
|
waitExists($ff.button(:id,text))
|
|
46
46
|
$ff.button(:id,text).click
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
def
|
|
49
|
+
def 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
|
|
55
|
+
def 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
|
|
66
|
+
def 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
|
|
84
|
+
def 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
|
|
101
|
+
def 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 self.setTextfieldclass(text1,text2,type=1)
|
|
|
109
109
|
end
|
|
110
110
|
end
|
|
111
111
|
|
|
112
|
-
def
|
|
112
|
+
def 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
|
|
117
|
+
def 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
|
|
123
|
+
def 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
|
|
128
|
+
def 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
|
|
134
|
+
def submitFormid(text)
|
|
135
135
|
waitExists($ff.form(:id,text))
|
|
136
136
|
$ff.form(:id,text).submit
|
|
137
137
|
end
|
|
138
138
|
|
|
139
|
-
def
|
|
139
|
+
def getFormid(text)
|
|
140
140
|
waitExists($ff.form(:id,text))
|
|
141
141
|
return $ff.form(:id,text)
|
|
142
142
|
end
|
|
143
143
|
|
|
144
|
-
def
|
|
144
|
+
def getFormaction(text)
|
|
145
145
|
waitExists($ff.form(:action,text))
|
|
146
146
|
nwait(1)
|
|
147
147
|
sleep(1)
|
|
@@ -149,42 +149,42 @@ def self.getFormaction(text)
|
|
|
149
149
|
end
|
|
150
150
|
|
|
151
151
|
#Frame
|
|
152
|
-
def
|
|
152
|
+
def getFrameid(text)
|
|
153
153
|
waitExists($ff.frame(:id,text))
|
|
154
154
|
return $ff.frame(:id,text)
|
|
155
155
|
end
|
|
156
156
|
|
|
157
|
-
def
|
|
157
|
+
def getFrameindex(text)
|
|
158
158
|
waitExists($ff.frame(:index,text))
|
|
159
159
|
return $ff.frame(:index,text)
|
|
160
160
|
end
|
|
161
161
|
|
|
162
|
-
def
|
|
162
|
+
def 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
|
|
168
|
+
def 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
|
|
175
|
+
def 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
|
|
181
|
+
def 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
|
|
187
|
+
def clickDivid(text)
|
|
188
188
|
i = 0
|
|
189
189
|
begin
|
|
190
190
|
$ff.div(:id , text).click
|
|
@@ -200,7 +200,7 @@ def self.clickDivid(text)
|
|
|
200
200
|
end
|
|
201
201
|
|
|
202
202
|
#Span
|
|
203
|
-
def
|
|
203
|
+
def clickSpanid(text)
|
|
204
204
|
i = 0
|
|
205
205
|
begin
|
|
206
206
|
$ff.span(:id , text).click
|
|
@@ -215,7 +215,7 @@ def self.clickSpanid(text)
|
|
|
215
215
|
end
|
|
216
216
|
end
|
|
217
217
|
|
|
218
|
-
def
|
|
218
|
+
def clickSpanclass(text)
|
|
219
219
|
i = 0
|
|
220
220
|
begin
|
|
221
221
|
$ff.span(:class , text).click
|
|
@@ -230,7 +230,7 @@ def self.clickSpanclass(text)
|
|
|
230
230
|
end
|
|
231
231
|
end
|
|
232
232
|
|
|
233
|
-
def
|
|
233
|
+
def clickSpanxpath(text)
|
|
234
234
|
i = 0
|
|
235
235
|
begin
|
|
236
236
|
$ff.span(:xpath , text).click
|
|
@@ -246,22 +246,22 @@ def self.clickSpanxpath(text)
|
|
|
246
246
|
end
|
|
247
247
|
|
|
248
248
|
#Checkbox
|
|
249
|
-
def
|
|
249
|
+
def setCheckboxid(name)
|
|
250
250
|
waitExists($ff.checkbox(:id,name))
|
|
251
251
|
$ff.checkbox(:id,name).set
|
|
252
252
|
end
|
|
253
253
|
|
|
254
|
-
def
|
|
254
|
+
def setCheckboxname(name)
|
|
255
255
|
waitExists($ff.checkbox(:name,name))
|
|
256
256
|
$ff.checkbox(:name,name).set
|
|
257
257
|
end
|
|
258
258
|
|
|
259
|
-
def
|
|
259
|
+
def setCheckboxvalue(name)
|
|
260
260
|
waitExists($ff.checkbox(:value,name))
|
|
261
261
|
$ff.checkbox(:value,name).set
|
|
262
262
|
end
|
|
263
263
|
|
|
264
|
-
def
|
|
264
|
+
def 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
|
|
272
|
+
def 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 self.setSelectlistid(name,value,type=1)
|
|
|
278
278
|
end
|
|
279
279
|
end
|
|
280
280
|
|
|
281
|
-
def
|
|
281
|
+
def 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
|
|
288
|
+
def setRadiovalue(value)
|
|
289
289
|
waitExists($ff.radio(:value,value))
|
|
290
290
|
$ff.radio(:value,value).set
|
|
291
291
|
end
|
|
292
292
|
|
|
293
|
-
def
|
|
293
|
+
def setRadioid(id)
|
|
294
294
|
waitExists($ff.radio(:id,id))
|
|
295
295
|
$ff.radio(:id,id).set
|
|
296
296
|
end
|
|
297
297
|
#Alert
|
|
298
|
-
def
|
|
298
|
+
def 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
|
|
304
|
+
def 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
|
|
310
|
+
def 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
|
|
316
|
+
def 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
|
|
322
|
+
def 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
|
|
328
|
+
def 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
|
|
334
|
+
def clickalertElement(name)
|
|
335
335
|
waitExists(name)
|
|
336
336
|
$ff.startClicker("OK")
|
|
337
337
|
name.click
|
|
338
338
|
end
|
|
339
339
|
|
|
340
|
-
def
|
|
340
|
+
def 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
|
|
347
|
+
def 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
|
|
354
|
+
def 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
|
|
363
|
+
def 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
|
|
370
|
+
def getAttachurl(url)
|
|
371
371
|
i = 0
|
|
372
372
|
begin
|
|
373
373
|
ff1 = $ff.attach(:url,url)
|
|
@@ -385,7 +385,7 @@ def self.getAttachurl(url)
|
|
|
385
385
|
end
|
|
386
386
|
end
|
|
387
387
|
|
|
388
|
-
def
|
|
388
|
+
def 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
|
|
408
|
+
def 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 self.fire_event(element,type = 1)
|
|
|
413
413
|
end
|
|
414
414
|
|
|
415
415
|
#Wait Element show use class Waiter
|
|
416
|
-
def
|
|
416
|
+
def wait_ut(text)
|
|
417
417
|
Watir::Waiter.wait_until($timeout) { text }
|
|
418
418
|
end
|
|
419
419
|
end
|
data/lib/function/assertions.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#E: Assert
|
|
2
|
-
#Assertion text in page
|
|
2
|
+
#Assertion text in page
|
|
3
3
|
module Qa
|
|
4
|
-
def
|
|
4
|
+
def assertText(text)
|
|
5
5
|
i = 0
|
|
6
6
|
while !$ff.contains_text(text) do
|
|
7
7
|
sleep(1)
|
|
@@ -14,7 +14,7 @@ def self.assertText(text)
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
#Assert False text in page
|
|
17
|
-
def
|
|
17
|
+
def assertfalseText(text)
|
|
18
18
|
i = 0
|
|
19
19
|
while $ff.contains_text(text) do
|
|
20
20
|
sleep(1)
|
|
@@ -32,7 +32,7 @@ end
|
|
|
32
32
|
#type = 3:url<br>
|
|
33
33
|
#type = 4:value<br>
|
|
34
34
|
#type = 5:maxlength<br>
|
|
35
|
-
def
|
|
35
|
+
def assertEqual(value1,value2,type=1)
|
|
36
36
|
i = 0
|
|
37
37
|
if type == 1 then
|
|
38
38
|
begin
|
|
@@ -91,7 +91,7 @@ end
|
|
|
91
91
|
#type = 2:title,<br>
|
|
92
92
|
#type = 3:url<br>
|
|
93
93
|
#type = 4:value<br>
|
|
94
|
-
def
|
|
94
|
+
def assertfalseEqual(value1,value2,type=1)
|
|
95
95
|
i = 0
|
|
96
96
|
if type == 1 then
|
|
97
97
|
while value2.text == value1 do
|
|
@@ -134,7 +134,7 @@ def self.assertfalseEqual(value1,value2,type=1)
|
|
|
134
134
|
end
|
|
135
135
|
|
|
136
136
|
#Wait Element show
|
|
137
|
-
def
|
|
137
|
+
def waitExists(text,type = 1)
|
|
138
138
|
i = 0
|
|
139
139
|
if type == 1 then
|
|
140
140
|
while !text.exists? do
|
|
@@ -159,7 +159,7 @@ def self.waitExists(text,type = 1)
|
|
|
159
159
|
end
|
|
160
160
|
|
|
161
161
|
#Wait Element none
|
|
162
|
-
def
|
|
162
|
+
def waitfalseExists(text)
|
|
163
163
|
i = 0
|
|
164
164
|
while text.exists? do
|
|
165
165
|
sleep(1)
|
|
@@ -176,7 +176,7 @@ end
|
|
|
176
176
|
#tags = 3: Table<br>
|
|
177
177
|
#tags = 4: Textfield<br>
|
|
178
178
|
#tags = 5: Div<br>
|
|
179
|
-
def
|
|
179
|
+
def falseExistsid(text,tags=1)
|
|
180
180
|
if tags == 1 then
|
|
181
181
|
i = 0
|
|
182
182
|
while $ff.link(:id,text).exists? do
|
|
@@ -219,7 +219,7 @@ def self.falseExistsid(text,tags=1)
|
|
|
219
219
|
end
|
|
220
220
|
|
|
221
221
|
#tags = 1: Link(d)
|
|
222
|
-
def
|
|
222
|
+
def falseExiststext(text,tags=1)
|
|
223
223
|
if tags == 1 then
|
|
224
224
|
i = 0
|
|
225
225
|
while $ff.link(:text,text).exists? do
|
|
@@ -234,7 +234,7 @@ def self.falseExiststext(text,tags=1)
|
|
|
234
234
|
end
|
|
235
235
|
|
|
236
236
|
#tags = 1: Link(d)
|
|
237
|
-
def
|
|
237
|
+
def falseExistsclass(text,tags=1)
|
|
238
238
|
if tags == 1 then
|
|
239
239
|
i = 0
|
|
240
240
|
while $ff.link(:class,text).exists? do
|
|
@@ -251,7 +251,7 @@ end
|
|
|
251
251
|
|
|
252
252
|
|
|
253
253
|
#tags = 1: Link(d)
|
|
254
|
-
def
|
|
254
|
+
def falseExistshref(text,tags=1)
|
|
255
255
|
if tags == 1 then
|
|
256
256
|
i = 0
|
|
257
257
|
while $ff.link(:href,text).exists? do
|
|
@@ -266,7 +266,7 @@ def self.falseExistshref(text,tags=1)
|
|
|
266
266
|
end
|
|
267
267
|
|
|
268
268
|
#tags = 1: Link(d)
|
|
269
|
-
def
|
|
269
|
+
def falseExistsindex(browser,text,tags=1)
|
|
270
270
|
if tags == 1 then
|
|
271
271
|
i = 0
|
|
272
272
|
while browser.link(:index,text).exists? do
|
|
@@ -280,7 +280,7 @@ def self.falseExistsindex(browser,text,tags=1)
|
|
|
280
280
|
end
|
|
281
281
|
end
|
|
282
282
|
|
|
283
|
-
def
|
|
283
|
+
def returnwaitExists(text)
|
|
284
284
|
sleep(0.5)
|
|
285
285
|
nwait(1)
|
|
286
286
|
if text.exists? then
|
data/lib/function/sfunction.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module Qs
|
|
2
|
-
def
|
|
2
|
+
def 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
|
|
20
|
+
def 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 self.getRandomString(n,i)
|
|
|
81
81
|
end
|
|
82
82
|
end
|
|
83
83
|
|
|
84
|
-
def
|
|
84
|
+
def randfromto(a,b)
|
|
85
85
|
x = rand(b)
|
|
86
86
|
while x < a do
|
|
87
87
|
x = rand(b)
|
|
@@ -89,7 +89,7 @@ def self.randfromto(a,b)
|
|
|
89
89
|
return x
|
|
90
90
|
end
|
|
91
91
|
|
|
92
|
-
def
|
|
92
|
+
def 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 self.cutEndline(text)
|
|
|
103
103
|
end
|
|
104
104
|
end
|
|
105
105
|
|
|
106
|
-
def
|
|
106
|
+
def readExcel(dir)
|
|
107
107
|
$excel = WIN32OLE.new("excel.application")
|
|
108
108
|
$excel.visible = true
|
|
109
109
|
$workbook = $excel.workbooks.open("#{$mydir}\\#{dir}")
|
|
@@ -111,18 +111,18 @@ def self.readExcel(dir)
|
|
|
111
111
|
$workbook = $excel.ActiveWorkbook
|
|
112
112
|
end
|
|
113
113
|
|
|
114
|
-
def
|
|
114
|
+
def saveExcel
|
|
115
115
|
$workbook.Save
|
|
116
116
|
$workbook.Close
|
|
117
117
|
$excel.Quit
|
|
118
118
|
end
|
|
119
119
|
|
|
120
|
-
def
|
|
120
|
+
def getFile(name)
|
|
121
121
|
begin
|
|
122
122
|
$f = IO.readlines(name)
|
|
123
123
|
return true
|
|
124
124
|
rescue
|
|
125
125
|
return false
|
|
126
126
|
end
|
|
127
|
-
end
|
|
127
|
+
end
|
|
128
128
|
end
|
data/lib/qfunction.rb
CHANGED
|
@@ -7,365 +7,6 @@ require 'win32ole'
|
|
|
7
7
|
require "function/HTMLElement"
|
|
8
8
|
require "function/assertions"
|
|
9
9
|
require "function/sfunction"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
10
|
+
include Qh
|
|
11
|
+
include Qa
|
|
12
|
+
include Qs
|
data/lib/qstart.rb
CHANGED
|
@@ -7,6 +7,9 @@ require 'win32ole'
|
|
|
7
7
|
require "function/HTMLElement"
|
|
8
8
|
require "function/assertions"
|
|
9
9
|
require "function/sfunction"
|
|
10
|
+
include Qh
|
|
11
|
+
include Qa
|
|
12
|
+
include Qs
|
|
10
13
|
|
|
11
14
|
Watir::Browser.default = 'firefox'
|
|
12
15
|
|
|
@@ -14,365 +17,4 @@ def startBrowser
|
|
|
14
17
|
$ff = Watir::Browser.new
|
|
15
18
|
$timeout = 10
|
|
16
19
|
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
|
|
20
|
+
startBrowser
|
data/qfunction.gemspec
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
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.5"
|
|
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"]
|
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
|
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", "Manifest", "qfunction.gemspec"]
|
|
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
|
+
- 5
|
|
9
|
+
version: 0.0.5
|
|
10
10
|
platform: ruby
|
|
11
11
|
authors:
|
|
12
12
|
- QuangMV, Cyworld Vietnam, 5th Floor, 447 Lac Long Quan Street, Tay Ho Dist, Hanoi, Vietnam
|
|
@@ -39,8 +39,8 @@ files:
|
|
|
39
39
|
- lib/function/sfunction.rb
|
|
40
40
|
- lib/qfunction.rb
|
|
41
41
|
- lib/qstart.rb
|
|
42
|
-
- qfunction.gemspec
|
|
43
42
|
- Manifest
|
|
43
|
+
- qfunction.gemspec
|
|
44
44
|
has_rdoc: true
|
|
45
45
|
homepage: ""
|
|
46
46
|
licenses: []
|