Je suis en train de configurer l'intégration de Calabash iOS utilisant rspec (& pas le concombre) en suivant les étapes mentionnées dans http://devblog.snap-interactive.com/post/45933948225/mobile-automation-of-ios-native-apps-with-calabash-ios#.Ue6PORz5BhF mais incapable de continuer. J'ai énuméré en détail les étapes que j'ai suivies et les erreurs de débogage aussi. S'il vous plaît partager un peu de lumière comme ce qui ne va pas .. Je suis nouveau au rubis et à la calebasse aussi.Problèmes de mise en œuvre Calabash-ios avec rspec
Étapes: j'ai créé XCodeproject et configuré le projet suivant les étapes mentionnées dans https://github.com/calabash/calabash-ios, dans le terminal cd au répertoire de projet et INSTALLÉ joyau rspec, a fait rspec -init pour créer le spec_helper
Je suis en utilisant Rubymine.
La structure de l'arbre qui existe comme:
TestProject
- calabash.framework
- caractéristiques
-
- step_definitions
-
- soutien
-
-
- 01_launch.rb -I déplacé ce fichier sous le répertoire lib et renommé launch.rb que je référencé dans le spec_helper.rb
-
-
-
- ..autres fichiers
-
- lib
-
- launch.rb
-
- MySpec.rb
- spec
-
- MySpec_spec.rb
-
- spec_helper.rb
- autres dossiers du projet ... ..
Est-il un format spécifique qui devrait être suivi tout en travaillant avec rspec que je J'ai manqué ici? (comme nous avons pour le concombre dossier comporte, step_definitions, etc ..)
Je posterai le contenu de mes fichiers:
launch.rb
########################################
# #
# Important Note #
# #
# When running calabash-ios tests at #
# www.xamarin.com/test-cloud #
# this file will be overwritten by #
# a file which automates #
# app launch on devices. #
# #
# Don't rely on this file being #
# present when running at #
# Xamarin Test Cloud #
# #
########################################
require 'calabash-cucumber/launcher'
APP_BUNDLE_PATH = "~/Library/Developer/Xcode/DerivedData/MyApp-dftlalczpovmeddcybgllunvwpoe/Build/Products/Release-iphonesimulator/MyApp.app"
Before do |scenario|
@calabash_launcher = Calabash::Cucumber::Launcher.new
unless @calabash_launcher.calabash_no_launch?
@calabash_launcher.relaunch
@calabash_launcher.calabash_notify(self)
end
end
After do |scenario|
unless @calabash_launcher.calabash_no_stop?
calabash_exit
@calabash_launcher.stop
end
end
at_exit do
launcher = Calabash::Cucumber::Launcher.new
if launcher.simulator_target?
Calabash::Cucumber::SimulatorHelper.stop unless launcher.calabash_no_stop?
end
end
> Est-ce exact ajouter APP_BUNDLE_PATH comme ça?
> Ai-je besoin d'ajouter APP_BUNDLE_PATH ici si j'ai le code source de l'application ou seulement quand j'ai le .app »
Sur Débogage launch.rb, je reçois le Les erreurs suivantes, quelqu'un peut-il s'il vous plaît aider à résoudre ce:
/Users/qateam/.rbenv/versions/2.0.0-p247/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/qateam/Desktop/library_project/TestProject/lib/launch.rb
/Users/qateam/Desktop/library_project/TestProject/lib/launch.rb:30:in `<top (required)>': undefined method `Before' for main:Object (NoMethodError)
from -e:1:in `load'
from -e:1:in `<main>'
Process finished with exit code 1
spec_helper.rb
require_relative '../lib/launch'
require ‘rspec’
require ‘rubygems’
require 'calabash-cucumber/core'
require 'calabash-cucumber/tests_helpers'
require 'calabash-cucumber/keyboard_helpers'
require 'calabash-cucumber/wait_helpers'
require 'calabash-cucumber/operations'
require 'calabash-cucumber/version'
require 'calabash-cucumber/location'
require 'calabash-cucumber/ibase'
include Calabash::Cucumber::Core
include Calabash::Cucumber::WaitHelpers
include Calabash::Cucumber::TestsHelpers
include Calabash::Cucumber::Operations
# This file was generated by the `rspec --init` command. Conventionally, all
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
# Require this file using `require "spec_helper"` to ensure that it is only
# loaded once.
#
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
RSpec.configure do |config|
config.treat_symbols_as_metadata_keys_with_true_values = true
config.run_all_when_everything_filtered = true
config.filter_run :focus
# Run specs in random order to surface order dependencies. If you find an
# order dependency and want to debug it, you can fix the order by providing
# the seed, which is printed after each run.
# --seed 1234
config.order = 'random'
end
S'il vous plaît noter:
la ligne "require « rspec »" ligne indique "Aucun fichier à charger", pourquoi? Je l'ai fait installer bijou rspec dans le répertoire du projet
Sur Debugging spec_helper.rb, je reçois les erreurs suivantes:
/Users/qateam/.rbenv/versions/2.0.0-p247/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/qateam/Desktop/library_project/TestProject/spec/spec_helper.rb
/Users/qateam/Desktop/library_project/TestProject/lib/launch.rb:30:in `<top (required)>': undefined method `Before' for main:Object (NoMethodError)
from /Users/qateam/Desktop/library_project/TestProject/spec/spec_helper.rb:1:in `require_relative'
from /Users/qateam/Desktop/library_project/TestProject/spec/spec_helper.rb:1:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'
Process finished with exit code 1
S'il vous plaît guide sur ce qui va mal.
MySpec_spec.rb
require ‘spec_helper’
.
.
.
.
à faire "spec rspec" dans les résultats du terminal en suivant:
/Utilisateurs/qateam/Desktop/library_project/TestProject/spec/launch.rb: 17: in <top (required)>': undefined method
Avant 'pour principal: Object (NoMethodError) from /Users/qateam/Desktop/library_project/TestProject/spec/spec_helper.rb:1:in require_relative' from /Users/qateam/Desktop/library_project/TestProject/spec/spec_helper.rb:1:in
' à partir de /Users/qateam/.rbenv/versions/2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in require' from /Users/qateam/.rbenv/versions/2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in
require' from/Users/qateam /Desktop/library_project/TestProject/spec/PlayWithShopwise_spec.rb:1:in <top (required)>' from /Users/qateam/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.4/lib/rspec/core/configuration.rb:896:in
load ' à partir de /Users/qateam/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec -core-2.14.4/lib/rspec/core/configuration.rb: 896: dans block in load_spec_files' from /Users/qateam/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.4/lib/rspec/core/configuration.rb:896:in
chaque ' de /Users/qateam/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0 /gems/rspec-core-2.14.4/lib/rspec/core/configuration.rb:896:in load_spec_files' from /Users/qateam/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.4/lib/rspec/core/command_line.rb:22:in
exécutez ' depuis /Users/qateam/.rbenv/versions/2.0.0-p247/lib/ruby/gems /2.0.0/gems/rspec-core-2.14.4/lib/rspec/core/runner.rb:80:in run' from /Users/qateam/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.4/lib/rspec/core/runner.rb:17:in
bloc en autorun '
Appréciez toutes les entrées sur ce ..
Si vous avez un exemple de travail de calabash-rspec, ou toute documentation/tutoriels, s'il vous plaît partager.
Merci,
Salut pouvez-vous essayer ce changement. re nommez votre fichier step comme yourPrefix_steps.rb et réessayez. "filename .._ steps.rb" –
Bonjour Chathura, merci d'avoir répondu. Je n'utilise pas Cucumber (& donc pas de dossier step_definitions et donc de fichiers _steps.rb dans mon projet). J'essaie mes mains sur rspec. Je ne sais pas pourquoi je reçois "launch.rb: 30: in '': méthode non définie' Before 'pour main: Object (NoMethodError) "cette erreur sur le débogage .. –
user2525211