2017-08-14 59 views
2
  • MacOS的塞拉利昂10.12.4
  • 節點 - v6.9.5
  • Appium - 1.6.0
  • 量角器 - 5.1.2

我對使用appium完全陌生,剛剛獲得了運行谷歌Chrome瀏覽器的Android模擬器的基本設置。我遇到的問題是,我相信軟鍵盤會阻礙登錄等簡單動作在鍵盤輸入時出現問題時無法在鍵盤上運行。沒有正確點擊登錄按鈕。我發現的解決方法是在發送鍵以擺脫軟鍵盤之後單擊文本字段。我希望有一種簡單的方法可以禁用鍵盤進行自動測試。我希望我不需要做的另一個選項是重載sendKeys函數來檢查它是否在移動設備上,並在發送密鑰後單擊文本字段。任何幫助或建議如何解決這個問題表示讚賞。量角器+ Appium隱藏Android鍵盤鉻

可能的解決方案

我發現從量角器API參考頁面此ExtendedWebDriver信息,但我很難找到的成功實施其使用功能hideSoftKeyboard

+0

您是否嘗試過的驅動程序.hideKeyboard()? –

+0

@BillHileman我將如何去調用我的量角器測試。它似乎不是一個有效的功能 – BarretV

+0

我不是第一手熟悉量角器,所以我可能會誤解。但是,由於您標記了Appium,我認爲自動化正在通過webdriver。如果是,並且Web驅動程序已正確定義/實例化,則應在創建的驅動程序對象上附加一個hideKeyboard方法。 –

回答

1

好了,所以我不能任何實例使用量角器實現ExtendedWebDriver無法使其工作。但他們說,你還可以在登錄功能,我能夠隱藏鍵盤就採用了全球wdBrowser輸入密碼後使用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); 
} 

然後在我的規格文件

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