2016-11-29 15 views
0

Rubyを使用してさまざまなテストを行っています。シミュレータと物理的なデバイスでテストをローカルで試みましたが問題はありませんでしたが、Xamarin Test Cloudでそれらを実行しようとすると、Calabashランチャーに関連してエラーが発生します。私は01_launch.rbファイルを何回か変更しても、エラーは継続します。これはログファイルです:Calabash iOSテストの実行中にエラーが発生するXamarin Test Cloud

{"type":"install","last_exception":{"class":"XTCOperationalError","message":"500\n{\"message\":\"undefined method `strip' for nil:NilClass\",\"app_id\”:\”XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"}","backtrace":null}} (XTCOperationalError) 
./xtc-sandbox-runtime-lib/xtc/formatter/patches/calabash_common_patch.rb:64:in `raise_operational_error' 
./xtc-sandbox-runtime-lib/xtc/formatter/patches/calabash_ios_patch.rb:223:in `xtc_install_app' 
./xtc-sandbox-runtime-lib/xtc/formatter/patches/calabash_ios_patch.rb:129:in `relaunch' 
./features/support/01_launch.rb:98:in `launch' 
./features/support/01_launch.rb:340:in `Before' 

私はこの問題について調査していますが、関連するものは見つかりませんでした。大規模なiOSとAndroidアプリでCI環境で使用するためにプラットフォームをテストしようとしています。どんな助けも歓迎されるでしょう。

更新: 私は、これらの設定で私のローカルマシン上の物理デバイス上でテストを実行することができましたが、Xamarinテストクラウドテストはまだ失敗。

launcher.relaunch(options) 

これは01_launch.rbファイルです:私はひょうたん-キュウリ(0.20.3)とrun_loopを(使用してきました

# encoding: utf-8 

require 'calabash-cucumber/launcher' 

module LaunchControl 
    @@launcher = nil 

    def self.launcher 
    @@launcher ||= Calabash::Cucumber::Launcher.new 
    end 

    def self.launcher=(launcher) 
    @@launcher = launcher 
    end 

    def self.xcode 
    Calabash::Cucumber::Environment.xcode 
    end 

    def self.instruments 
    Calabash::Cucumber::Environment.instruments 
    end 

    def self.simctl 
    Calabash::Cucumber::Environment.simctl 
    end 

    def self.environment 
    { 
     :simctl => self.simctl, 
     :instruments => self.instruments, 
     :xcode => self.xcode 
    } 
    end 

    def self.target 
    ENV['DEVICE_TARGET'] || RunLoop::Core.default_simulator 
    end 

    def self.target_is_simulator? 
    self.launcher.simulator_target? 
    end 

    def self.target_is_physical_device? 
    self.launcher.device_target? 
    end 
end 

# Delete user data after a scenario tagged with '@reset_settings' 
After('@reset_settings') do 
    if xamarin_test_cloud? 
    ENV['RESET_BETWEEN_SCENARIOS'] = '1' 
    elsif LaunchControl.target_is_simulator? 
    target = LaunchControl.target 
    device = RunLoop::Device.device_with_identifier(target,  LaunchControl.environment) 
    RunLoop::CoreSimulator.erase(device) 
    else 
    LaunchControl.install_on_physical_device 
    end 
end 



Before do |scenario| 

    launcher = LaunchControl.launcher 
    options = { 
    } 

launcher.relaunch(options) 

end 

After do |scenario| 
    if launcher.quit_app_after_scenario? 
    calabash_exit 
    end 
end 

フックがある前に 失敗ラインがです2.2.2)宝石。

ありがとうございました。 P.S:app_idは省略されていますが、実際のapp_idが正しく設定されています。

答えて

0

あなたのフックでRunLoop :: Xcodeを参照している可能性があります。あなたが01_launch.rbの要点を提供すれば、私は助けることができるかもしれません。

^ありがとうございます!

これを引き起こしていた不具合が修正されました。

+0

ありがとう、私はいくつかのコードと詳細についての質問を更新しました。私はそれが助けて欲しい –

+0

テストクラウドのリンクを私に送ってください。私にプライベートメッセージを送ることができます。 – jmoody

+0

https://testcloud.xamarin.com/test/eon-espana-sl-tu-oficina-online-pre_48d384c5-429a-4ef0-8c47-8cd3d797060d/ –

関連する問題