web4cucumber 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/examples/testproject/Gemfile.lock +0 -13
- data/lib/web4cucumber.rb +62 -4
- data/lib/web4cucumber/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 665d2600c206c0133279ee8f6d5a5e3b94283f34
|
4
|
+
data.tar.gz: 8ffc25cafcedfdbaa5b14fdd8c8fb7119550aac0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9d51ac82df67ae8e13d4ec9822728b8abbb304aba5f9dad097bc66870cc4dde1e308e2d8b9810e691bb4af0eea6fd905eb40241ac437d40c973f1c0f7431f30
|
7
|
+
data.tar.gz: ebb7890e5377b5d93153036d092c9f6aec4049cbd2efaa55213cde89eb51a245f4007c77aa51fc4e17aed092faa4b5fe53d8038b32d66642e34f723edc8e3ae4
|
@@ -7,7 +7,6 @@ GEM
|
|
7
7
|
debugger-linecache (~> 1.2)
|
8
8
|
childprocess (0.5.5)
|
9
9
|
ffi (~> 1.0, >= 1.0.11)
|
10
|
-
coderay (1.1.0)
|
11
10
|
columnize (0.9.0)
|
12
11
|
cucumber (1.3.19)
|
13
12
|
builder (>= 2.1.2)
|
@@ -21,14 +20,8 @@ GEM
|
|
21
20
|
gherkin (2.12.2)
|
22
21
|
multi_json (~> 1.3)
|
23
22
|
headless (1.0.2)
|
24
|
-
json (1.8.2)
|
25
|
-
method_source (0.8.2)
|
26
23
|
multi_json (1.10.1)
|
27
24
|
multi_test (0.1.2)
|
28
|
-
pry (0.9.12.6)
|
29
|
-
coderay (~> 1.0)
|
30
|
-
method_source (~> 0.8)
|
31
|
-
slop (~> 3.4)
|
32
25
|
rspec-expectations (2.14.4)
|
33
26
|
diff-lcs (>= 1.1.3, < 2.0)
|
34
27
|
rubyzip (1.1.7)
|
@@ -37,7 +30,6 @@ GEM
|
|
37
30
|
multi_json (~> 1.0)
|
38
31
|
rubyzip (~> 1.0)
|
39
32
|
websocket (~> 1.0)
|
40
|
-
slop (3.5.0)
|
41
33
|
watir-webdriver (0.6.11)
|
42
34
|
selenium-webdriver (>= 2.18.0)
|
43
35
|
web4cucumber (0.0.2)
|
@@ -50,11 +42,6 @@ PLATFORMS
|
|
50
42
|
ruby
|
51
43
|
|
52
44
|
DEPENDENCIES
|
53
|
-
byebug
|
54
45
|
cucumber
|
55
|
-
headless
|
56
|
-
json
|
57
|
-
pry
|
58
46
|
rspec-expectations
|
59
|
-
watir-webdriver
|
60
47
|
web4cucumber
|
data/lib/web4cucumber.rb
CHANGED
@@ -421,7 +421,7 @@ class Web4Cucumber
|
|
421
421
|
|
422
422
|
def initialize(options)
|
423
423
|
# Let's make sure, that we get all necessary options in the proper format
|
424
|
-
obligatory_options
|
424
|
+
obligatory_options ||= [:base_url, :rules_path, :logger]
|
425
425
|
# :logger should be a Logger class instance with at least the following
|
426
426
|
# methods implemented, taking a string as an argument:
|
427
427
|
# - info
|
@@ -434,7 +434,6 @@ class Web4Cucumber
|
|
434
434
|
end
|
435
435
|
if (options.keys & obligatory_options).sort == obligatory_options.sort
|
436
436
|
@@base_url = options[:base_url]
|
437
|
-
@@rules_path = options[:rules_path]
|
438
437
|
@@logger = options[:logger]
|
439
438
|
else
|
440
439
|
raise "Please provide #{obligatory_options.join(', ')} in the passed options"
|
@@ -490,7 +489,7 @@ class Web4Cucumber
|
|
490
489
|
if params[:url].match /^:\d+/
|
491
490
|
base_url.gsub!(/\/$/, "")
|
492
491
|
end
|
493
|
-
@@b.goto base_url + params[:url]
|
492
|
+
@@b.goto @@base_url + params[:url]
|
494
493
|
else
|
495
494
|
@@b.goto params[:url]
|
496
495
|
end
|
@@ -758,5 +757,64 @@ class Web4Cucumber
|
|
758
757
|
return result
|
759
758
|
end
|
760
759
|
|
761
|
-
|
760
|
+
def textfield_clear(element)
|
761
|
+
result = {
|
762
|
+
:result => true,
|
763
|
+
:errors =>[]}
|
764
|
+
unless element.match(/\:\w+\=\>[\'\"]\S+[\"\']/)
|
765
|
+
raise "Please pass the element string in the form :selector=>\"value\""
|
766
|
+
end
|
767
|
+
# Only textfields are supported
|
768
|
+
begin
|
769
|
+
@@b.text_field(element).clear
|
770
|
+
rescue => e
|
771
|
+
result[:result] = false
|
772
|
+
result[:errors] << e.message
|
773
|
+
end
|
774
|
+
end
|
762
775
|
|
776
|
+
def run_custom(action, options={})
|
777
|
+
if options.has_key? :background
|
778
|
+
fork do
|
779
|
+
run_action(action, options)
|
780
|
+
end
|
781
|
+
else
|
782
|
+
return run_action(action, options)
|
783
|
+
end
|
784
|
+
end
|
785
|
+
|
786
|
+
def typetext(element, text)
|
787
|
+
unless element.match(/\:\w+\=\>[\'\"]\S+[\"\']/)
|
788
|
+
raise "Please pass the element string in the form :selector=>\"value\""
|
789
|
+
end
|
790
|
+
result = {:result => true,
|
791
|
+
:errors => []
|
792
|
+
}
|
793
|
+
begin
|
794
|
+
@@b.text_field(element).clear
|
795
|
+
@@b.text_field(element).send_keys text
|
796
|
+
rescue => e
|
797
|
+
result[:result] = false
|
798
|
+
result[:errors] << e.message
|
799
|
+
end
|
800
|
+
end
|
801
|
+
|
802
|
+
def value_list(element)
|
803
|
+
if not element.match(/\:\w+\=\>[\'\"]\S+[\"\']/)
|
804
|
+
raise "Please pass the element string in the form :selector=>\"value\""
|
805
|
+
end
|
806
|
+
result = {:result => true,
|
807
|
+
:errors => [],
|
808
|
+
:valuelist => []}
|
809
|
+
unless @@b.select_list(element).exists?
|
810
|
+
screenshot_save
|
811
|
+
result[:result] = false
|
812
|
+
result[:errors] << "Unable to find element with #{element.keys[0].to_s} #{element.values[0]}"
|
813
|
+
else
|
814
|
+
@@b.select_list(element).options.each do |option|
|
815
|
+
result[:valuelist] << option.value
|
816
|
+
end
|
817
|
+
end
|
818
|
+
return result
|
819
|
+
end
|
820
|
+
end
|
data/lib/web4cucumber/version.rb
CHANGED