2017-08-14 8 views
2
  • MacOSのシエラ10.12.4
  • ノード - v6.9.5
  • Appium - 1.6.0
  • 分度器 - 私は5.1.2

appiumを使用することを完全に新しくし、ちょうどGoogle Chromeのブラウザを実行しているアンドロイドエミュレータで動作する基本的なセットアップを得ました。私が実行している問題は、私が信じているソフトキーボードが途中にあるということです。ログインのような単純なアクションは、バットb/cで動作しません。サインインボタンを正しくクリックしていません。私が見つけた回避策は、ソフトキーボードを取り除くためにキーを送信した後にテキストフィールドをクリックすることでした。自動テストのためにキーボードを無効にする簡単な方法があることを期待していました。私がする必要はないことを望む他のオプションは、sendKeys関数をオーバーロードしてモバイル上にあるかどうかをチェックし、キーを送信した後にテキストフィールドをクリックすることです。この問題を解決する方法に関する助言や提案は高く評価されます。私は分度器APIリファレンス・ページからこのExtendedWebDriver情報を発見したが、私は困難に成功さて私はcouldn機能にhideSoftKeyboard分度器+ Appium隠すアンドロイドキーボード

+0

を使用してパスワードを入力した後、私はキーボードを隠すことができたログイン機能の私のspecファイルで、その後wd-bridge

// configuring wd in onPrepare // wdBridge helps to bridge wd driver with other selenium clients // See https://github.com/sebv/wd-bridge/blob/master/README.md onPrepare: function() { var wd = require('wd'), protractor = require('protractor'), wdBridge = require('wd-bridge')(protractor, wd); wdBridge.initFromProtractor(exports.config); } 

を使用することができると述べたあなたは、ドライバを試してみました.hideKeyboard()? –

+0

@BillHilemanどのように私の分度器のテストでそれを呼び出すに行くだろう。それは有効な機能ではないようです – BarretV

+0

私は分度器に精通していませんので間違えられるかもしれません。しかし、あなたがAppiumにタグを付けたので、私は自動化がウェブドライバを経由していると仮定しました。そうで、webdriverが適切に定義/インスタンス化されていれば、作成されたドライバオブジェクトにhideKeyboardメソッドがアタッチされているはずです。 –

答えて

1

を使用するために、それを実現するための任意の例を見つけることを抱えている

解決策ExtendedWebDriverの分度器の実装を使用して動作させることはできません。しかし、彼らはあなたにもそれがグローバルwdBrowser

this.passwordFld.sendKeys(password).then(() => { 
    wdBrowser.hideDeviceKeyboard(); 
    this.signInBtn.click(); 
});