awetestlib 0.1.20-x86-mingw32 → 0.1.22-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.add_dependency('pry')
33
33
  s.add_dependency('rdoc', '~> 3.11')
34
34
  s.add_dependency('cucumber')
35
-
35
+ s.add_dependency('calabash-android', '0.3.2')
36
36
  s.require_paths = ["lib"]
37
37
  s.files = `git ls-files`.split("\n")
38
38
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
@@ -22,6 +22,12 @@ elsif cmd == 'cucumber_setup'
22
22
  elsif cmd == 'mobile_app_setup'
23
23
  require File.join(File.dirname(__FILE__),"awetestlib-mobile-app-setup")
24
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
25
31
  else
26
32
 
27
33
  require 'optparse'
@@ -0,0 +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
+
27
+ end
@@ -6,7 +6,7 @@ def awetestlib_cucumber_setup
6
6
  end
7
7
 
8
8
  @cucumber_dir = File.join(FileUtils.pwd, @proj_dir)
9
- @source_dir = File.join(File.dirname(__FILE__), '..', 'setup_samples', @proj_dir)
9
+ @source_dir = File.join(File.dirname(__FILE__), '..', 'setup_samples', 'sample_cucumber')
10
10
 
11
11
  if File.exists?(@cucumber_dir)
12
12
  puts "Cucumber project directory already exists."
@@ -0,0 +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
Binary file
@@ -397,7 +397,7 @@ module Awetestlib
397
397
  # @param [String] hwnd The value for the window handle for the browser process.
398
398
  # @param [Fixnum] lnbr Line number in calling script.
399
399
  # @param [Watir::Browser] browser A reference to the browser window or container element to be closed.
400
- def kill_browser(hwnd, lnbr, browser = nil)
400
+ def kill_browser(hwnd, lnbr, browser = nil, doflag = false)
401
401
  # TODO Firefox
402
402
  logit = false
403
403
  if @browserAbbrev == 'FF'
@@ -763,9 +763,9 @@ module Awetestlib
763
763
  msg << " '#{desc}' " if desc.length > 0
764
764
  case element
765
765
  when :radio
766
- browser.radio(how, what, value).set
766
+ browser.radio(how, what).set
767
767
  when :checkbox
768
- browser.checkbox(how, what, value).set
768
+ browser.checkbox(how, what).set
769
769
  else
770
770
  failed_to_log("#{__method__}: #{element} not supported")
771
771
  end
@@ -1034,9 +1034,9 @@ module Awetestlib
1034
1034
  msg << " '#{desc}' " if desc.length > 0
1035
1035
  case element
1036
1036
  when :radio
1037
- browser.radio(how, what, value).clear
1037
+ browser.radio(how, what).clear
1038
1038
  when :checkbox
1039
- browser.checkbox(how, what, value).clear
1039
+ browser.checkbox(how, what).clear
1040
1040
  when :text_field
1041
1041
  browser.text_field(how, what).set('')
1042
1042
  else
@@ -1,4 +1,4 @@
1
1
  module Awetestlib
2
- VERSION = "0.1.20"
3
- VERSION_DATE = "2012-10-02"
2
+ VERSION = "0.1.22"
3
+ VERSION_DATE = "2012-11-13"
4
4
  end
@@ -0,0 +1,6 @@
1
+ Feature: I want to test my android setup
2
+
3
+ Scenario: I want to launch my app and test a few interactions
4
+ Given I see "Rotating at anchor"
5
+ Then I long press "Rotating at anchor"
6
+ Then I enter "2" into "Enter Range"
@@ -0,0 +1,2 @@
1
+ require 'calabash-android/cucumber'
2
+ require 'calabash-android/calabash_steps'
@@ -0,0 +1,36 @@
1
+ require 'calabash-android/management/app_installation'
2
+
3
+ AfterConfiguration do |config|
4
+ FeatureNameMemory.feature_name = nil
5
+ end
6
+
7
+ Before do |scenario|
8
+ @scenario_is_outline = (scenario.class == Cucumber::Ast::OutlineTable::ExampleRow)
9
+ if @scenario_is_outline
10
+ scenario = scenario.scenario_outline
11
+ end
12
+
13
+ feature_name = scenario.feature.title
14
+ if FeatureNameMemory.feature_name != feature_name \
15
+ or ENV["RESET_BETWEEN_SCENARIOS"] == "1"
16
+ if ENV["RESET_BETWEEN_SCENARIOS"] == "1"
17
+ log "New scenario - reinstalling apps"
18
+ else
19
+ log "First scenario in feature - reinstalling apps"
20
+ end
21
+
22
+ uninstall_apps
23
+ install_app(ENV["TEST_APP_PATH"])
24
+ install_app(ENV["APP_PATH"])
25
+ FeatureNameMemory.feature_name = feature_name
26
+ FeatureNameMemory.invocation = 1
27
+ else
28
+ FeatureNameMemory.invocation += 1
29
+ end
30
+ end
31
+
32
+ FeatureNameMemory = Class.new
33
+ class << FeatureNameMemory
34
+ @feature_name = nil
35
+ attr_accessor :feature_name, :invocation
36
+ end
@@ -0,0 +1,15 @@
1
+ require 'calabash-android/management/adb'
2
+ require 'calabash-android/operations'
3
+ include Calabash::Android::Operations
4
+
5
+ AfterConfiguration do |config|
6
+ wake_up unless config.dry_run?
7
+ end
8
+
9
+ Before do |scenario|
10
+ start_test_server_in_background
11
+ end
12
+
13
+ After do
14
+ shutdown_test_server
15
+ end
@@ -0,0 +1 @@
1
+ require 'calabash-android/cucumber'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awetestlib
3
3
  version: !ruby/object:Gem::Version
4
- hash: 51
4
+ hash: 55
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 20
10
- version: 0.1.20
9
+ - 22
10
+ version: 0.1.22
11
11
  platform: x86-mingw32
12
12
  authors:
13
13
  - Anthony Woo
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-10-02 00:00:00 Z
19
+ date: 2012-11-13 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: watir-webdriver
@@ -273,12 +273,30 @@ dependencies:
273
273
  version: "0"
274
274
  type: :runtime
275
275
  version_requirements: *id017
276
+ - !ruby/object:Gem::Dependency
277
+ name: calabash-android
278
+ prerelease: false
279
+ requirement: &id018 !ruby/object:Gem::Requirement
280
+ none: false
281
+ requirements:
282
+ - - "="
283
+ - !ruby/object:Gem::Version
284
+ hash: 23
285
+ segments:
286
+ - 0
287
+ - 3
288
+ - 2
289
+ version: 0.3.2
290
+ type: :runtime
291
+ version_requirements: *id018
276
292
  description: Awetest DSL for automated testing of browser-based applications.
277
293
  email: patrick@3qilabs.com
278
294
  executables:
279
295
  - AutoItX3.dll
280
296
  - awetestlib
297
+ - awetestlib-android-setup.rb
281
298
  - awetestlib-cucumber-setup.rb
299
+ - awetestlib-driver-setup.rb
282
300
  - awetestlib-helpers.rb
283
301
  - awetestlib-mobile-app-setup.rb
284
302
  - awetestlib-netbeans-setup.rb
@@ -299,12 +317,16 @@ files:
299
317
  - awetestlib_osx.gemspec
300
318
  - bin/AutoItX3.dll
301
319
  - bin/awetestlib
320
+ - bin/awetestlib-android-setup.rb
302
321
  - bin/awetestlib-cucumber-setup.rb
322
+ - bin/awetestlib-driver-setup.rb
303
323
  - bin/awetestlib-helpers.rb
304
324
  - bin/awetestlib-mobile-app-setup.rb
305
325
  - bin/awetestlib-netbeans-setup.rb
306
326
  - bin/awetestlib-regression-setup.rb
307
327
  - bin/awetestlib-rubymine-setup.rb
328
+ - drivers/IEDriverServer.exe
329
+ - drivers/chromedriver.exe
308
330
  - ext/Rakefile
309
331
  - ext/mkrf_conf.rb
310
332
  - images/logo.png
@@ -331,6 +353,13 @@ files:
331
353
  - netbeans_setup.md
332
354
  - rdoc_test.bat
333
355
  - rubymine_setup.md
356
+ - setup_samples/sample_android/features/dk.mejer.hansen.control.FlyingColorsPlayerAidActivity.apk
357
+ - setup_samples/sample_android/features/sample_android.feature
358
+ - setup_samples/sample_android/features/step_definitions/calabash_steps.rb
359
+ - setup_samples/sample_android/features/support/app_installation_hooks.rb
360
+ - setup_samples/sample_android/features/support/app_life_cycle_hooks.rb
361
+ - setup_samples/sample_android/features/support/env.rb
362
+ - setup_samples/sample_android/features/test_servers/8ba795a0288381ae346b67867b586881_0.3.2.apk
334
363
  - setup_samples/sample_cucumber/features/step_definitions/predefined_steps.rb
335
364
  - setup_samples/sample_cucumber/features/support/env.rb
336
365
  - setup_samples/sample_cucumber/features/yahoo_mail.feature
@@ -398,4 +427,3 @@ specification_version: 3
398
427
  summary: Awetest DSL for automated testing of browser-based applications.
399
428
  test_files: []
400
429
 
401
- has_rdoc: