問題タブ [calabash-ios]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 1 回のリクエストで Calabash からの複数のタッチ イベント
1 回のタップを含む Calabash-ios テストが失敗し始め、1 回のタップのみが発生するはずの場所で複数のタップが受信されました。
tap_mark
シミュレーター「iPhone 5s (8.2 シミュレーター)」に対してテストを実行しており、さまざまなひょうたんタッピング方法を試しましたtouch
。
単一の http 呼び出しを生成します (Wireshark を使用してスニッフィングします):
しかし、シミュレーターで複数のタップが発生しています。これは、シミュレーターのコンソール ログから確認できます。
そして、これらの 2 つの行はまったく同じように (同じタイムスタンプで) 繰り返されuia.tapOffset
ます。
Calabash 0.13.0 で Xcode 6.2 ビルド 6C131e を使用しています。0.11.4 からアップグレードした後に障害が発生しましたが、Xcode 6.1.1 から 6.2 にもアップグレードしたため、どちらが原因かはわかりません。
誰かが似たようなものに出くわしましたか? 助言がありますか?
ios - ビューベースのクラスモデルを使用しているときに一般的なCalabashメソッドを呼び出す方法は?
私はビュー ベースのクラス モデルに従って、アプリのひょうたんテスト フレームワークをセットアップしています。つまり、各ビューには、そのビューに必要なメソッドを含むクラスがあります。
しかし、「wait_for()」などのひょうたん関数を呼び出すと、エラーがスローされます。
LoggedInPage:Class の未定義メソッド `wait_for' (NoMethodError)
これらはすでにenv.rbに追加しています
calabash - Calabash の事前定義されたステップをオーバーライドする方法は?
カスタムひょうたんステップ (iOS と Android の両方で使用) を定義しており、さまざまな事前定義されたステップを選択的にオーバーライドしたいと考えています。例は次のとおりです。
この実装を使用する代わりに、独自の実装を提供したいと思います。一致する正規表現でステップを定義して使用すると、エラーが発生します。
「--guess」を使用することも提案されていますが、それは役に立たず、それでもCucumber::Ambiguous
エラーが発生します。ステップの正規表現に任意の変更を加えることができます。例:
しかし、それはいくつかの理由で不十分な解決策のように感じます
- 特に最も自然な言い回しである可能性があるため、組み込みステップの使用を防止する必要がある
- canned_steps が将来のリビジョンで競合するステップを追加した場合、言い回しとすべてのシナリオを変更せざるを得なくなります
- また、Android と iOS の事前定義された手順では、言い回しが少し異なるようです。オーバーライドできない場合は、Android ではエラーが発生しませんが、 Android で事前定義された iOS の手順を使用しないようにする必要があることを意味します。
Cucumber::Ambiguous
- また、Android と iOS の事前定義された手順では、言い回しが少し異なるようです。オーバーライドできない場合は、Android ではエラーが発生しませんが、 Android で事前定義された iOS の手順を使用しないようにする必要があることを意味します。
- 一般的に、シナリオ作成者 (多くの場合 QA) に特定の言い回しを使用しないように言うのは好きではありません。オプションを削除するよりも、代わりの言い回しを追加したいと思います。
組み込みステップの定義を解除する方法はありますか? Android canned_stepのドキュメントでは、次のものが必要であることが示唆されています。You can add your own steps or change the ones you see here
定義済みのすべてのステップをすぐに失いたくありません (例: calabash_steps.rb は必要ありません)。問題が発生した場合にのみ、それらを段階的に廃止したいと思います。また、できればひょうたんコードを直接編集したくありません。それには、gem を使用してインストールする代わりに、自分のひょうたんディストリビューションを展開する必要があるからです。
wifi - ひょうたんテストは、Wi-Fi 経由で実行されている場合、サーバーの起動時にスタックすることがよくあります
問題の一般的な説明:
プロジェクト固有のため ( iDevice は Lightning ポート経由で外部ハードウェアに接続する必要があります)、Wi-Fi 経由で一連のテストを実行する必要があります。
Yosemite 10.10.2 がテスト実行用のクライアントとして動作する専用の Macbook Pro (early 2011) があります。Mac と iDevice の両方が同じ隔離された ( 1 つの Mac と 1 つの iDevice のみ) Wi-Fi アクセス ポイント (インターネットへのアクセスなし) に接続されています。
既存のテストのすべてのスイート (〜 150 テスト) を実行しようとするたびに、ランダムな時点(つまり、その時点までにいくつかのテストが既に実行されている) で、Calabash サーバーを使用したアプリケーションが視覚的に起動されるという事実に直面しています。 iDevice側ではコマンドラインの観点から見ると、サーバーは正常に起動したMacクライアントに応答していないようで(私の仮定です)、この時点で実行全体がスタックします。"Ctrl+C" を介してテストの実行をドロップし、再度実行を開始するか、コンソールを介して start_test_server_in_background を実行しようとすると、アプリケーション サーバーが何度も開始され、新しい安定したアプリケーション サーバーを確立できずにすぐに閉じられることがわかります。
ここでの唯一の回避策は、iDevice を再起動し、再起動後に USB 経由で接続された iDevice で App サーバーを起動することです。そうしないと、Wi-Fi 経由で Calabash テストを再度実行できません。
さまざまな iDevice とさまざまな Wi-Fi アクセス ポイント、およびいくつかの Mac で試してみましたが、すべてのテストで 1 回の安定した途切れのない実行を行うことができませんでした。
誰かがこの信じられないほど厄介な問題を解決するのを手伝ってくれたら、とてもうれしいです。
いくつかの詳細:
- iOS バージョン: 8.1.3、8.2
- XCode バージョン: 6.2
- Mac OS バージョン: 10.10.2
- Xcode パス: /Applications/Xcode.app/Contents/Developer
- ひょうたんバージョン: 0.13.0 (および 0.14.0)
- calabash.framework バージョン: 0.13.0 (および 0.14.0)
- 「ハング」が発生したときのコンソール出力 (DEBUG=1) は次のとおりです。
更新:アプリケーションが動かなくなった後にアプリケーションを再起動できない場合に、ひょうたんがターミナルに出力する内容は次のとおりです。
ios - xml または css またはグローバル変数を使用したデータ駆動型 ios-Calabash 自動テスト
calabash-ios を使用して自動テストを行っています。cucumber を 1 回実行して、x ユーザー名に対して x 回実行し、さまざまなテスト シナリオを実行できるようにしたいと考えています。
私はこれを使いたい:
ID [#{Login-name}] と pwd "PASSWORD" を使用して [#{country-name}] ユーザーとしてログインし、国とユーザー名の両方の値を格納できるグローバル変数があるとします。
スクリプトを使用してキュウリを x 回実行し、毎回グローバル変数の値を設定することを望んでいました。これは可能ですか?もしそうなら、誰かが私を正しい方向に向けることができますか?
@@Loginname=value を使用してみましたが、次のエラーが発生しました: features/step_definitions/common.rb:1: 警告: トップレベルの初期化されていないクラス変数からのクラス変数アクセス @@Login オブジェクト (NameError)
どちらが失敗した場合、ひょうたんを使用してxmlまたはcssファイルに保存されたデータにアクセスできますか?
xcode - Launching a specific simulator in irb using Calabash iOS
I am using Calabash for iOS testing and when I go into calabash-ios console
, open the irb and enter start_test_server_in_background
it launches the simulator. The problem that I am having is its building a simulator that I don't want to work with anymore. I started using the 5s simulator, but now I want it to build the 6s when i enter start_test_server_in_background
.
Is there an environmental variable that needs to be set or one I can pass in a variable in the console while entering start_test_server_in_background
?
ios - calabshでiOS uiの要素をタップできません
タッチできない iOS アプリのラベルがあります
基本的にこれである最後の要素をクリックしたい
その要素をクリックするさまざまな方法を試しましたが、すべて同じエラーが発生します
私は次のことを試しました
そのラベルに触れることができるようにするためのアイデアや提案はありますか?