awetestlib 0.1.28 → 0.1.29pre1
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/.gitattributes +22 -22
- data/.gitignore +69 -69
- data/.yardopts +7 -7
- data/README.md +108 -108
- data/awetestlib.gemspec +57 -57
- data/awetestlib.windows.gemspec +41 -41
- data/awetestlib_notes.txt +4 -4
- data/awetestlib_osx.gemspec +47 -48
- data/bin/awetestlib +99 -99
- data/bin/awetestlib-android-setup.rb +26 -26
- data/bin/awetestlib-cucumber-setup.rb +28 -28
- data/bin/awetestlib-driver-setup.rb +21 -21
- data/bin/awetestlib-helpers.rb +41 -41
- data/bin/awetestlib-mobile-app-setup.rb +31 -31
- data/bin/awetestlib-netbeans-setup.rb +58 -58
- data/bin/awetestlib-regression-setup.rb +15 -15
- data/bin/awetestlib-rubymine-setup.rb +39 -39
- data/drivers/chromedriver.exe +0 -0
- data/ext/Rakefile +1 -1
- data/ext/mkrf_conf.rb +27 -27
- data/lib/awetestlib/html_report.rb +142 -142
- data/lib/awetestlib/logging.rb +366 -366
- data/lib/awetestlib/regression/browser.rb +1380 -1375
- data/lib/awetestlib/regression/drag_and_drop.rb +421 -420
- data/lib/awetestlib/regression/find.rb +345 -345
- data/lib/awetestlib/regression/legacy.rb +1187 -1187
- data/lib/awetestlib/regression/page_data.rb +191 -191
- data/lib/awetestlib/regression/runner.rb +307 -307
- data/lib/awetestlib/regression/tables.rb +627 -619
- data/lib/awetestlib/regression/user_input.rb +576 -576
- data/lib/awetestlib/regression/utilities.rb +1046 -988
- data/lib/awetestlib/regression/validations.rb +1093 -1074
- data/lib/awetestlib/regression/waits.rb +470 -470
- data/lib/awetestlib/runner.rb +18 -18
- data/lib/awetestlib.rb +41 -41
- data/lib/patches/README +2 -2
- data/lib/patches/firewatir.rb +106 -106
- data/lib/patches/watir.rb +175 -175
- data/lib/version.rb +2 -2
- data/license.txt +13 -13
- data/netbeans_setup.md +29 -29
- data/rdoc_test.bat +1 -1
- data/rubymine_setup.md +23 -23
- data/setup_samples/sample_android/features/dk.mejer.hansen.control.FlyingColorsPlayerAidActivity.apk +0 -0
- data/setup_samples/sample_android/features/sample_android.feature +5 -5
- data/setup_samples/sample_android/features/step_definitions/calabash_steps.rb +1 -1
- data/setup_samples/sample_android/features/support/app_installation_hooks.rb +36 -36
- data/setup_samples/sample_android/features/support/app_life_cycle_hooks.rb +14 -14
- data/setup_samples/sample_android/features/test_servers/8ba795a0288381ae346b67867b586881_0.3.2.apk +0 -0
- data/setup_samples/sample_cucumber/features/step_definitions/predefined_steps.rb +76 -76
- data/setup_samples/sample_cucumber/features/yahoo_mail.feature +11 -11
- data/setup_samples/sample_mobile_app/features/my_first.feature +14 -14
- data/setup_samples/sample_mobile_app/features/step_definitions/predefined_webview_steps.rb +80 -80
- data/setup_samples/sample_mobile_app/features/support/env.rb +2 -2
- data/setup_samples/sample_netbeans/demo.rb +86 -86
- data/setup_samples/sample_netbeans/nbproject/configs/Demo.properties +2 -2
- data/setup_samples/sample_netbeans/nbproject/private/config.properties +1 -1
- data/setup_samples/sample_netbeans/nbproject/private/configs/Demo.properties +2 -2
- data/setup_samples/sample_netbeans/nbproject/private/private.properties +2 -2
- data/setup_samples/sample_netbeans/nbproject/project.properties +5 -5
- data/setup_samples/sample_netbeans/nbproject/project.xml +13 -13
- data/setup_samples/sample_rubymine/.idea/encodings.xml +5 -5
- data/setup_samples/sample_rubymine/.idea/misc.xml +5 -5
- data/setup_samples/sample_rubymine/.idea/modules.xml +9 -9
- data/setup_samples/sample_rubymine/.idea/sample_rubymine.iml +9 -9
- data/setup_samples/sample_rubymine/.idea/scopes/scope_settings.xml +4 -4
- data/setup_samples/sample_rubymine/.idea/vcs.xml +7 -7
- data/setup_samples/sample_rubymine/.idea/workspace.xml +213 -213
- data/setup_samples/sample_rubymine/demo.rb +86 -86
- data/test/create_zoho.rb +66 -66
- data/test/create_zoho_account1.rb +68 -68
- data/test/create_zoho_account2.rb +72 -72
- data/test/demo.rb +87 -87
- data/test/google_search1.rb +16 -16
- data/test/google_search2.rb +19 -19
- data/test/login_1.rb +37 -37
- data/test/login_1a.rb +37 -37
- data/test/login_2.rb +32 -32
- data/test/zoho_exercise.rb +21 -21
- data/test/zoho_util.rb +487 -487
- data/tmp/placeholder.html +71 -71
- metadata +18 -49
data/awetestlib_osx.gemspec
CHANGED
@@ -1,48 +1,47 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
require "lib/version"
|
3
|
-
|
4
|
-
Gem::Specification.new do |s|
|
5
|
-
|
6
|
-
s.name = %q{awetestlib}
|
7
|
-
s.version = Awetestlib::VERSION
|
8
|
-
s.date = Awetestlib::VERSION_DATE
|
9
|
-
s.platform = Gem::Platform::RUBY
|
10
|
-
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
-
s.authors = ["Anthony Woo", "Patrick Neve"]
|
13
|
-
s.email = %q{patrick@3qilabs.com}
|
14
|
-
s.summary = %q{Awetest DSL for automated testing of browser-based applications.}
|
15
|
-
s.homepage = %q{http://3qilabs.com}
|
16
|
-
s.description = %q{Awetest DSL for automated testing of browser-based applications.}
|
17
|
-
|
18
|
-
s.add_dependency('watir-webdriver')
|
19
|
-
#s.add_dependency('watir', '1.8.1')
|
20
|
-
#s.add_dependency('commonwatir', '1.8.1')
|
21
|
-
#s.add_dependency('firewatir', '1.8.1')
|
22
|
-
s.add_dependency('activesupport', '~> 3.0.0')
|
23
|
-
s.add_dependency('andand'
|
24
|
-
#s.add_dependency('watirloo')
|
25
|
-
#s.add_dependency('win32-process')
|
26
|
-
#s.add_dependency('win32screenshot')
|
27
|
-
s.add_dependency('spreadsheet', '0.6.8')
|
28
|
-
s.add_dependency('google-spreadsheet-ruby', '0.1.6')
|
29
|
-
s.add_dependency('roo', '1.10.1')
|
30
|
-
s.add_dependency('multipart-post', '1.1.4')
|
31
|
-
s.add_dependency('selenium-webdriver')
|
32
|
-
s.add_dependency('nokogiri')
|
33
|
-
s.add_dependency('i18n')
|
34
|
-
s.add_dependency('rb-appscript')
|
35
|
-
s.add_dependency('json', '1.6.1') #for safari support
|
36
|
-
s.add_dependency('pry')
|
37
|
-
s.add_dependency('cucumber')
|
38
|
-
s.add_dependency(
|
39
|
-
s.
|
40
|
-
s.
|
41
|
-
s.
|
42
|
-
|
43
|
-
|
44
|
-
#
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require "lib/version"
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
|
6
|
+
s.name = %q{awetestlib}
|
7
|
+
s.version = Awetestlib::VERSION
|
8
|
+
s.date = Awetestlib::VERSION_DATE
|
9
|
+
s.platform = Gem::Platform::RUBY
|
10
|
+
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.authors = ["Anthony Woo", "Patrick Neve"]
|
13
|
+
s.email = %q{patrick@3qilabs.com}
|
14
|
+
s.summary = %q{Awetest DSL for automated testing of browser-based applications.}
|
15
|
+
s.homepage = %q{http://3qilabs.com}
|
16
|
+
s.description = %q{Awetest DSL for automated testing of browser-based applications.}
|
17
|
+
|
18
|
+
s.add_dependency('watir-webdriver')
|
19
|
+
#s.add_dependency('watir', '1.8.1')
|
20
|
+
#s.add_dependency('commonwatir', '1.8.1')
|
21
|
+
#s.add_dependency('firewatir', '1.8.1')
|
22
|
+
s.add_dependency('activesupport', '~> 3.0.0')
|
23
|
+
s.add_dependency('andand')
|
24
|
+
#s.add_dependency('watirloo')
|
25
|
+
#s.add_dependency('win32-process')
|
26
|
+
#s.add_dependency('win32screenshot')
|
27
|
+
s.add_dependency('spreadsheet', '0.6.8')
|
28
|
+
s.add_dependency('google-spreadsheet-ruby', '0.1.6')
|
29
|
+
s.add_dependency('roo', '1.10.1')
|
30
|
+
s.add_dependency('multipart-post', '1.1.4')
|
31
|
+
s.add_dependency('selenium-webdriver')
|
32
|
+
s.add_dependency('nokogiri')
|
33
|
+
s.add_dependency('i18n')
|
34
|
+
s.add_dependency('rb-appscript')
|
35
|
+
#s.add_dependency('json', '1.6.1') #for safari support
|
36
|
+
s.add_dependency('pry')
|
37
|
+
s.add_dependency('cucumber')
|
38
|
+
s.add_dependency('calabash-cucumber')
|
39
|
+
s.require_paths = ["lib"] #,"ext"]
|
40
|
+
s.files = `git ls-files`.split("\n")
|
41
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
42
|
+
|
43
|
+
#This line tells rubygems to look for an extension to install
|
44
|
+
#s.extensions = ["ext\\mkrf_conf.rb"]
|
45
|
+
|
46
|
+
end
|
47
|
+
|
data/bin/awetestlib
CHANGED
@@ -1,99 +1,99 @@
|
|
1
|
-
$: << "./lib"
|
2
|
-
require File.join(File.dirname(__FILE__),"awetestlib-helpers")
|
3
|
-
require 'fileutils'
|
4
|
-
|
5
|
-
cmd = ARGV[0]
|
6
|
-
|
7
|
-
if cmd.nil?
|
8
|
-
print_usage
|
9
|
-
|
10
|
-
elsif cmd == "regression_setup"
|
11
|
-
require File.join(File.dirname(__FILE__),"awetestlib-regression-setup")
|
12
|
-
awetestlib_regression_setup
|
13
|
-
elsif cmd == "rubymine_setup"
|
14
|
-
require File.join(File.dirname(__FILE__),"awetestlib-rubymine-setup")
|
15
|
-
awetestlib_rubymine_setup
|
16
|
-
elsif cmd == "netbeans_setup"
|
17
|
-
require File.join(File.dirname(__FILE__),"awetestlib-netbeans-setup")
|
18
|
-
awetestlib_netbeans_setup
|
19
|
-
elsif cmd == 'cucumber_setup'
|
20
|
-
require File.join(File.dirname(__FILE__),"awetestlib-cucumber-setup")
|
21
|
-
awetestlib_cucumber_setup
|
22
|
-
elsif cmd == 'mobile_app_setup'
|
23
|
-
require File.join(File.dirname(__FILE__),"awetestlib-mobile-app-setup")
|
24
|
-
awetestlib_mobile_app_setup
|
25
|
-
elsif cmd == 'android_setup'
|
26
|
-
require File.join(File.dirname(__FILE__),"awetestlib-android-setup")
|
27
|
-
awetestlib_android_setup
|
28
|
-
elsif cmd == 'driver_setup'
|
29
|
-
require File.join(File.dirname(__FILE__),"awetestlib-driver-setup")
|
30
|
-
awetestlib_driver_setup
|
31
|
-
else
|
32
|
-
|
33
|
-
require 'optparse'
|
34
|
-
require 'awetestlib'
|
35
|
-
|
36
|
-
options = { }
|
37
|
-
OptionParser.new do |opts|
|
38
|
-
opts.banner = "Usage: awetestlib <script_file> [options]"
|
39
|
-
|
40
|
-
opts.on("-m RUN_MODE", "--run_mode RUN_MODE", "Specify the run mode: local, local_zip, remote_zip") do |run_mode|
|
41
|
-
options[:run_mode] = run_mode
|
42
|
-
end
|
43
|
-
opts.on("-r ROOT_PATH", "--root_path ROOT_PATH", "Specify the root path") do |root_path|
|
44
|
-
options[:root_path] = root_path
|
45
|
-
end
|
46
|
-
opts.on("-l LIBRARY", "--library LIBRARY", "Specify a library to be loaded") do |library|
|
47
|
-
options[:library] = library.to_s
|
48
|
-
end
|
49
|
-
opts.on("-x EXCEL_FILE", "--excel EXCEL_FILE", "Specify an excel file containing variables to be loaded") do |xls_path|
|
50
|
-
options[:xls_path] = xls_path
|
51
|
-
end
|
52
|
-
opts.on("-b BROWSER", "--browser BROWSER", "Specify a browser (IE, FF, S, C)") do |browser|
|
53
|
-
options[:browser] = browser
|
54
|
-
end
|
55
|
-
opts.on("-v VERSION", "--version VERSION", "Specify a browser version") do |v|
|
56
|
-
options[:version] = v
|
57
|
-
end
|
58
|
-
opts.on("-e", "--environment_url ENVIRONMENT_URL", "Specify the environment URL") do |environment_url|
|
59
|
-
options[:environment_url] = environment_url
|
60
|
-
end
|
61
|
-
opts.on("-f", "--environment_node_name ENVIRONMENT_NODENAME", "Specify the environment node name") do |node_name|
|
62
|
-
options[:environment_nodename] = node_name
|
63
|
-
end
|
64
|
-
opts.on("-n", "--environment_name ENVIRONMENT_NAME", "Specify the environment name") do |environment_name|
|
65
|
-
options[:environment_name] = environment_name
|
66
|
-
end
|
67
|
-
opts.on("-u SELENIUM_REMOTE_URL", "--selenium_remote_url SELENIUM_REMOTE_URL", "Specify the device's remote url and port") do |remote_url|
|
68
|
-
options[:remote_url] = remote_url
|
69
|
-
end
|
70
|
-
opts.on("-s SCREENCAP_PATH", "--screencap-path SCREENCAP_PATH", "Specify the path where screenshots will be saved") do |screencap_path|
|
71
|
-
options[:screencap_path] = screencap_path
|
72
|
-
end
|
73
|
-
opts.on("-d", "--debug", "Run debugger on first script failure") do
|
74
|
-
options[:debug_on_fail] = true
|
75
|
-
end
|
76
|
-
# add persistent logging for awetestlib. pmn 05jun2012
|
77
|
-
opts.on("-o", "--output_to_log", "Write to log file") do
|
78
|
-
options[:output_to_log] = true
|
79
|
-
end
|
80
|
-
opts.on("", "--log_path_subdir LOG_PATH_SUBDIR", "Specify log path relative to root_path.") do |log_path_subdir|
|
81
|
-
options[:log_path_subdir] = log_path_subdir
|
82
|
-
end
|
83
|
-
opts.on("", "--report_all_test_refs REPORT_ALL_TEST_REFS", "Include list of all error/test case reference ids actually validated.") do
|
84
|
-
options[:report_all_test_refs] = true
|
85
|
-
end
|
86
|
-
|
87
|
-
end.parse!
|
88
|
-
|
89
|
-
options[:environment] ||= {}
|
90
|
-
options[:environment]["name"] = options[:environment_name]
|
91
|
-
options[:environment]["url"] = options[:environment_url]
|
92
|
-
options[:environment]["nodename"] = options[:environment_nodename]
|
93
|
-
check_script_type(options)
|
94
|
-
|
95
|
-
IS_WIN_2008 = File.exists?("config/win2008.txt")
|
96
|
-
Awetestlib::Runner.new(options)
|
97
|
-
|
98
|
-
|
99
|
-
end
|
1
|
+
$: << "./lib"
|
2
|
+
require File.join(File.dirname(__FILE__),"awetestlib-helpers")
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
cmd = ARGV[0]
|
6
|
+
|
7
|
+
if cmd.nil?
|
8
|
+
print_usage
|
9
|
+
|
10
|
+
elsif cmd == "regression_setup"
|
11
|
+
require File.join(File.dirname(__FILE__),"awetestlib-regression-setup")
|
12
|
+
awetestlib_regression_setup
|
13
|
+
elsif cmd == "rubymine_setup"
|
14
|
+
require File.join(File.dirname(__FILE__),"awetestlib-rubymine-setup")
|
15
|
+
awetestlib_rubymine_setup
|
16
|
+
elsif cmd == "netbeans_setup"
|
17
|
+
require File.join(File.dirname(__FILE__),"awetestlib-netbeans-setup")
|
18
|
+
awetestlib_netbeans_setup
|
19
|
+
elsif cmd == 'cucumber_setup'
|
20
|
+
require File.join(File.dirname(__FILE__),"awetestlib-cucumber-setup")
|
21
|
+
awetestlib_cucumber_setup
|
22
|
+
elsif cmd == 'mobile_app_setup'
|
23
|
+
require File.join(File.dirname(__FILE__),"awetestlib-mobile-app-setup")
|
24
|
+
awetestlib_mobile_app_setup
|
25
|
+
elsif cmd == 'android_setup'
|
26
|
+
require File.join(File.dirname(__FILE__),"awetestlib-android-setup")
|
27
|
+
awetestlib_android_setup
|
28
|
+
elsif cmd == 'driver_setup'
|
29
|
+
require File.join(File.dirname(__FILE__),"awetestlib-driver-setup")
|
30
|
+
awetestlib_driver_setup
|
31
|
+
else
|
32
|
+
|
33
|
+
require 'optparse'
|
34
|
+
require 'awetestlib'
|
35
|
+
|
36
|
+
options = { }
|
37
|
+
OptionParser.new do |opts|
|
38
|
+
opts.banner = "Usage: awetestlib <script_file> [options]"
|
39
|
+
|
40
|
+
opts.on("-m RUN_MODE", "--run_mode RUN_MODE", "Specify the run mode: local, local_zip, remote_zip") do |run_mode|
|
41
|
+
options[:run_mode] = run_mode
|
42
|
+
end
|
43
|
+
opts.on("-r ROOT_PATH", "--root_path ROOT_PATH", "Specify the root path") do |root_path|
|
44
|
+
options[:root_path] = root_path
|
45
|
+
end
|
46
|
+
opts.on("-l LIBRARY", "--library LIBRARY", "Specify a library to be loaded") do |library|
|
47
|
+
options[:library] = library.to_s
|
48
|
+
end
|
49
|
+
opts.on("-x EXCEL_FILE", "--excel EXCEL_FILE", "Specify an excel file containing variables to be loaded") do |xls_path|
|
50
|
+
options[:xls_path] = xls_path
|
51
|
+
end
|
52
|
+
opts.on("-b BROWSER", "--browser BROWSER", "Specify a browser (IE, FF, S, C)") do |browser|
|
53
|
+
options[:browser] = browser
|
54
|
+
end
|
55
|
+
opts.on("-v VERSION", "--version VERSION", "Specify a browser version") do |v|
|
56
|
+
options[:version] = v
|
57
|
+
end
|
58
|
+
opts.on("-e", "--environment_url ENVIRONMENT_URL", "Specify the environment URL") do |environment_url|
|
59
|
+
options[:environment_url] = environment_url
|
60
|
+
end
|
61
|
+
opts.on("-f", "--environment_node_name ENVIRONMENT_NODENAME", "Specify the environment node name") do |node_name|
|
62
|
+
options[:environment_nodename] = node_name
|
63
|
+
end
|
64
|
+
opts.on("-n", "--environment_name ENVIRONMENT_NAME", "Specify the environment name") do |environment_name|
|
65
|
+
options[:environment_name] = environment_name
|
66
|
+
end
|
67
|
+
opts.on("-u SELENIUM_REMOTE_URL", "--selenium_remote_url SELENIUM_REMOTE_URL", "Specify the device's remote url and port") do |remote_url|
|
68
|
+
options[:remote_url] = remote_url
|
69
|
+
end
|
70
|
+
opts.on("-s SCREENCAP_PATH", "--screencap-path SCREENCAP_PATH", "Specify the path where screenshots will be saved") do |screencap_path|
|
71
|
+
options[:screencap_path] = screencap_path
|
72
|
+
end
|
73
|
+
opts.on("-d", "--debug", "Run debugger on first script failure") do
|
74
|
+
options[:debug_on_fail] = true
|
75
|
+
end
|
76
|
+
# add persistent logging for awetestlib. pmn 05jun2012
|
77
|
+
opts.on("-o", "--output_to_log", "Write to log file") do
|
78
|
+
options[:output_to_log] = true
|
79
|
+
end
|
80
|
+
opts.on("", "--log_path_subdir LOG_PATH_SUBDIR", "Specify log path relative to root_path.") do |log_path_subdir|
|
81
|
+
options[:log_path_subdir] = log_path_subdir
|
82
|
+
end
|
83
|
+
opts.on("", "--report_all_test_refs REPORT_ALL_TEST_REFS", "Include list of all error/test case reference ids actually validated.") do
|
84
|
+
options[:report_all_test_refs] = true
|
85
|
+
end
|
86
|
+
|
87
|
+
end.parse!
|
88
|
+
|
89
|
+
options[:environment] ||= {}
|
90
|
+
options[:environment]["name"] = options[:environment_name]
|
91
|
+
options[:environment]["url"] = options[:environment_url]
|
92
|
+
options[:environment]["nodename"] = options[:environment_nodename]
|
93
|
+
check_script_type(options)
|
94
|
+
|
95
|
+
IS_WIN_2008 = File.exists?("config/win2008.txt")
|
96
|
+
Awetestlib::Runner.new(options)
|
97
|
+
|
98
|
+
|
99
|
+
end
|
@@ -1,27 +1,27 @@
|
|
1
|
-
def awetestlib_android_setup
|
2
|
-
if ARGV[1].nil?
|
3
|
-
@proj_dir = "sample_android"
|
4
|
-
else
|
5
|
-
@proj_dir = ARGV[1]
|
6
|
-
end
|
7
|
-
|
8
|
-
@cucumber_dir = File.join(FileUtils.pwd, @proj_dir)
|
9
|
-
@source_dir = File.join(File.dirname(__FILE__), '..', 'setup_samples', 'sample_android')
|
10
|
-
|
11
|
-
if File.exists?(@cucumber_dir)
|
12
|
-
puts "Android project directory already exists."
|
13
|
-
exit 1
|
14
|
-
end
|
15
|
-
|
16
|
-
msg("Question") do
|
17
|
-
puts "I'm about to create an android project named #{@proj_dir} in this directory"
|
18
|
-
puts "Please hit return to confirm that's what you want."
|
19
|
-
puts "NOTE: You may need to run this command as an administrator."
|
20
|
-
end
|
21
|
-
exit 2 unless STDIN.gets.chomp == ''
|
22
|
-
FileUtils.cp_r(@source_dir, @cucumber_dir)
|
23
|
-
msg("Info") do
|
24
|
-
puts "Configuring files and settings"
|
25
|
-
end
|
26
|
-
|
1
|
+
def awetestlib_android_setup
|
2
|
+
if ARGV[1].nil?
|
3
|
+
@proj_dir = "sample_android"
|
4
|
+
else
|
5
|
+
@proj_dir = ARGV[1]
|
6
|
+
end
|
7
|
+
|
8
|
+
@cucumber_dir = File.join(FileUtils.pwd, @proj_dir)
|
9
|
+
@source_dir = File.join(File.dirname(__FILE__), '..', 'setup_samples', 'sample_android')
|
10
|
+
|
11
|
+
if File.exists?(@cucumber_dir)
|
12
|
+
puts "Android project directory already exists."
|
13
|
+
exit 1
|
14
|
+
end
|
15
|
+
|
16
|
+
msg("Question") do
|
17
|
+
puts "I'm about to create an android project named #{@proj_dir} in this directory"
|
18
|
+
puts "Please hit return to confirm that's what you want."
|
19
|
+
puts "NOTE: You may need to run this command as an administrator."
|
20
|
+
end
|
21
|
+
exit 2 unless STDIN.gets.chomp == ''
|
22
|
+
FileUtils.cp_r(@source_dir, @cucumber_dir)
|
23
|
+
msg("Info") do
|
24
|
+
puts "Configuring files and settings"
|
25
|
+
end
|
26
|
+
|
27
27
|
end
|
@@ -1,29 +1,29 @@
|
|
1
|
-
def awetestlib_cucumber_setup
|
2
|
-
if ARGV[1].nil?
|
3
|
-
@proj_dir = "sample_cucumber"
|
4
|
-
else
|
5
|
-
@proj_dir = ARGV[1]
|
6
|
-
end
|
7
|
-
|
8
|
-
@cucumber_dir = File.join(FileUtils.pwd, @proj_dir)
|
9
|
-
@source_dir = File.join(File.dirname(__FILE__), '..', 'setup_samples', 'sample_cucumber')
|
10
|
-
|
11
|
-
if File.exists?(@cucumber_dir)
|
12
|
-
puts "Cucumber project directory already exists."
|
13
|
-
exit 1
|
14
|
-
end
|
15
|
-
|
16
|
-
msg("Question") do
|
17
|
-
puts "I'm about to create a cucumber project named #{@proj_dir} in this directory"
|
18
|
-
puts "Please hit return to confirm that's what you want."
|
19
|
-
puts "NOTE: You may need to run this command as an administrator."
|
20
|
-
end
|
21
|
-
exit 2 unless STDIN.gets.chomp == ''
|
22
|
-
FileUtils.cp_r(@source_dir, @cucumber_dir)
|
23
|
-
msg("Info") do
|
24
|
-
puts "Configuring files and settings"
|
25
|
-
puts "From the sample_cucumber/features folder, you may now run command below:"
|
26
|
-
puts "cucumber yahoo_mail.feature"
|
27
|
-
end
|
28
|
-
|
1
|
+
def awetestlib_cucumber_setup
|
2
|
+
if ARGV[1].nil?
|
3
|
+
@proj_dir = "sample_cucumber"
|
4
|
+
else
|
5
|
+
@proj_dir = ARGV[1]
|
6
|
+
end
|
7
|
+
|
8
|
+
@cucumber_dir = File.join(FileUtils.pwd, @proj_dir)
|
9
|
+
@source_dir = File.join(File.dirname(__FILE__), '..', 'setup_samples', 'sample_cucumber')
|
10
|
+
|
11
|
+
if File.exists?(@cucumber_dir)
|
12
|
+
puts "Cucumber project directory already exists."
|
13
|
+
exit 1
|
14
|
+
end
|
15
|
+
|
16
|
+
msg("Question") do
|
17
|
+
puts "I'm about to create a cucumber project named #{@proj_dir} in this directory"
|
18
|
+
puts "Please hit return to confirm that's what you want."
|
19
|
+
puts "NOTE: You may need to run this command as an administrator."
|
20
|
+
end
|
21
|
+
exit 2 unless STDIN.gets.chomp == ''
|
22
|
+
FileUtils.cp_r(@source_dir, @cucumber_dir)
|
23
|
+
msg("Info") do
|
24
|
+
puts "Configuring files and settings"
|
25
|
+
puts "From the sample_cucumber/features folder, you may now run command below:"
|
26
|
+
puts "cucumber yahoo_mail.feature"
|
27
|
+
end
|
28
|
+
|
29
29
|
end
|
@@ -1,21 +1,21 @@
|
|
1
|
-
require 'pry'
|
2
|
-
def awetestlib_driver_setup
|
3
|
-
current_dir = Dir.pwd
|
4
|
-
drivers_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "drivers"))
|
5
|
-
# binding.pry
|
6
|
-
ie_driver = File.join(drivers_dir,"IEDriverServer.exe")
|
7
|
-
chrome_driver = File.join(drivers_dir,"chromedriver.exe")
|
8
|
-
msg("Question") do
|
9
|
-
puts "I'm about to put the chromedriver and IEDriverServer in this directory"
|
10
|
-
puts "If it already exists, we will overwrite it"
|
11
|
-
puts "Please hit return to confirm that's what you want."
|
12
|
-
puts "NOTE: You may need to run this command as an administrator."
|
13
|
-
end
|
14
|
-
exit 2 unless STDIN.gets.chomp == ''
|
15
|
-
FileUtils.cp(ie_driver, current_dir)
|
16
|
-
FileUtils.cp(chrome_driver,current_dir)
|
17
|
-
msg("Info") do
|
18
|
-
puts "Successfully copied chromedriver and IEDriverServer to #{current_dir}"
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
1
|
+
require 'pry'
|
2
|
+
def awetestlib_driver_setup
|
3
|
+
current_dir = Dir.pwd
|
4
|
+
drivers_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "drivers"))
|
5
|
+
# binding.pry
|
6
|
+
ie_driver = File.join(drivers_dir,"IEDriverServer.exe")
|
7
|
+
chrome_driver = File.join(drivers_dir,"chromedriver.exe")
|
8
|
+
msg("Question") do
|
9
|
+
puts "I'm about to put the chromedriver and IEDriverServer in this directory"
|
10
|
+
puts "If it already exists, we will overwrite it"
|
11
|
+
puts "Please hit return to confirm that's what you want."
|
12
|
+
puts "NOTE: You may need to run this command as an administrator."
|
13
|
+
end
|
14
|
+
exit 2 unless STDIN.gets.chomp == ''
|
15
|
+
FileUtils.cp(ie_driver, current_dir)
|
16
|
+
FileUtils.cp(chrome_driver,current_dir)
|
17
|
+
msg("Info") do
|
18
|
+
puts "Successfully copied chromedriver and IEDriverServer to #{current_dir}"
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
data/bin/awetestlib-helpers.rb
CHANGED
@@ -1,42 +1,42 @@
|
|
1
|
-
def msg(title, &block)
|
2
|
-
puts "\n" + "-"*10 + title + "-"*10
|
3
|
-
block.call
|
4
|
-
puts "-"*10 + "-------" + "-"*10 + "\n"
|
5
|
-
end
|
6
|
-
|
7
|
-
|
8
|
-
def print_usage
|
9
|
-
puts <<EOF
|
10
|
-
Usage Options:
|
11
|
-
|
12
|
-
awetestlib regression_setup
|
13
|
-
setup awetest regression and register autoitx3.dll
|
14
|
-
|
15
|
-
awetestlib rubymine_setup <project_name>
|
16
|
-
setup a rubymine project
|
17
|
-
|
18
|
-
awetestlib netbeans_setup <project_name>
|
19
|
-
setup a netbeans project
|
20
|
-
|
21
|
-
awetestlib mobile_app_setup <project_name>
|
22
|
-
setup a mobile app project
|
23
|
-
|
24
|
-
awetestlib cucumber_setup <project_name>
|
25
|
-
setup cucumber regression and provide skeleton folder structure
|
26
|
-
|
27
|
-
awetestlib <script_file> [parameters]
|
28
|
-
run an awetest regression script
|
29
|
-
|
30
|
-
EOF
|
31
|
-
end
|
32
|
-
|
33
|
-
def check_script_type(options)
|
34
|
-
script_options = ['Regression', 'Cucumber']
|
35
|
-
if script_options.include? ARGV[0]
|
36
|
-
options[:script_type] = ARGV[0]
|
37
|
-
options[:script_file] = ARGV[1]
|
38
|
-
else
|
39
|
-
options[:script_type] = 'Regression'
|
40
|
-
options[:script_file] = ARGV[0]
|
41
|
-
end
|
1
|
+
def msg(title, &block)
|
2
|
+
puts "\n" + "-"*10 + title + "-"*10
|
3
|
+
block.call
|
4
|
+
puts "-"*10 + "-------" + "-"*10 + "\n"
|
5
|
+
end
|
6
|
+
|
7
|
+
|
8
|
+
def print_usage
|
9
|
+
puts <<EOF
|
10
|
+
Usage Options:
|
11
|
+
|
12
|
+
awetestlib regression_setup
|
13
|
+
setup awetest regression and register autoitx3.dll
|
14
|
+
|
15
|
+
awetestlib rubymine_setup <project_name>
|
16
|
+
setup a rubymine project
|
17
|
+
|
18
|
+
awetestlib netbeans_setup <project_name>
|
19
|
+
setup a netbeans project
|
20
|
+
|
21
|
+
awetestlib mobile_app_setup <project_name>
|
22
|
+
setup a mobile app project
|
23
|
+
|
24
|
+
awetestlib cucumber_setup <project_name>
|
25
|
+
setup cucumber regression and provide skeleton folder structure
|
26
|
+
|
27
|
+
awetestlib <script_file> [parameters]
|
28
|
+
run an awetest regression script
|
29
|
+
|
30
|
+
EOF
|
31
|
+
end
|
32
|
+
|
33
|
+
def check_script_type(options)
|
34
|
+
script_options = ['Regression', 'Cucumber']
|
35
|
+
if script_options.include? ARGV[0]
|
36
|
+
options[:script_type] = ARGV[0]
|
37
|
+
options[:script_file] = ARGV[1]
|
38
|
+
else
|
39
|
+
options[:script_type] = 'Regression'
|
40
|
+
options[:script_file] = ARGV[0]
|
41
|
+
end
|
42
42
|
end
|
@@ -1,31 +1,31 @@
|
|
1
|
-
def awetestlib_mobile_app_setup
|
2
|
-
if ARGV[1].nil?
|
3
|
-
@proj_dir = "sample_mobile_app"
|
4
|
-
else
|
5
|
-
@proj_dir = ARGV[1]
|
6
|
-
end
|
7
|
-
|
8
|
-
@cucumber_dir = File.join(FileUtils.pwd, @proj_dir)
|
9
|
-
@source_dir = File.join(File.dirname(__FILE__), '..', 'setup_samples', 'sample_mobile_app')
|
10
|
-
|
11
|
-
if File.exists?(@cucumber_dir)
|
12
|
-
puts "Mobile app project directory already exists."
|
13
|
-
exit 1
|
14
|
-
end
|
15
|
-
|
16
|
-
msg("Question") do
|
17
|
-
puts "I'm about to create a mobile app project named #{ARGV[1]} in this directory" if ARGV[1]
|
18
|
-
puts "I'm about to create a mobile app project named sample_mobile_app in this directory" if ARGV[1].nil?
|
19
|
-
puts "Please hit return to confirm that's what you want."
|
20
|
-
puts "NOTE: You may need to run this command as an administrator."
|
21
|
-
end
|
22
|
-
exit 2 unless STDIN.gets.chomp == ''
|
23
|
-
|
24
|
-
FileUtils.cp_r(@source_dir, @cucumber_dir)
|
25
|
-
|
26
|
-
msg("Info") do
|
27
|
-
puts "Configuring files and settings..."
|
28
|
-
puts "A skeleton project has been created with a features and step definitions folder"
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
1
|
+
def awetestlib_mobile_app_setup
|
2
|
+
if ARGV[1].nil?
|
3
|
+
@proj_dir = "sample_mobile_app"
|
4
|
+
else
|
5
|
+
@proj_dir = ARGV[1]
|
6
|
+
end
|
7
|
+
|
8
|
+
@cucumber_dir = File.join(FileUtils.pwd, @proj_dir)
|
9
|
+
@source_dir = File.join(File.dirname(__FILE__), '..', 'setup_samples', 'sample_mobile_app')
|
10
|
+
|
11
|
+
if File.exists?(@cucumber_dir)
|
12
|
+
puts "Mobile app project directory already exists."
|
13
|
+
exit 1
|
14
|
+
end
|
15
|
+
|
16
|
+
msg("Question") do
|
17
|
+
puts "I'm about to create a mobile app project named #{ARGV[1]} in this directory" if ARGV[1]
|
18
|
+
puts "I'm about to create a mobile app project named sample_mobile_app in this directory" if ARGV[1].nil?
|
19
|
+
puts "Please hit return to confirm that's what you want."
|
20
|
+
puts "NOTE: You may need to run this command as an administrator."
|
21
|
+
end
|
22
|
+
exit 2 unless STDIN.gets.chomp == ''
|
23
|
+
|
24
|
+
FileUtils.cp_r(@source_dir, @cucumber_dir)
|
25
|
+
|
26
|
+
msg("Info") do
|
27
|
+
puts "Configuring files and settings..."
|
28
|
+
puts "A skeleton project has been created with a features and step definitions folder"
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|