appium输入和清除操作各方法对比(android)
生活随笔
收集整理的這篇文章主要介紹了
appium输入和清除操作各方法对比(android)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在寫android app自動化測試時,發現輸入和清除操作耗費時間比較長,下面我用了不同的方法進行輸入和清除操作,對比下時間(選取測試的一組數據做分析),選出最佳方法。
1、輸入操作
1.1、webElement.sendKeys()
? ?可以看到 該方法的輸入時間在5s 左右
1.2、actions.sendKeys().perform()
該方法是使用Actions類的sendKeys方法,sendKeys前需要先webElement.click()
從結果可以看到該方法的輸入時間在3s左右
1.3、adb shell input text
該方法是直接使用adb命令進行輸入,可以看出輸入時間不到1s. 操作前需要先webElement.click()
1.4、總結
| webElement.sendKeys() | 5112 | 5444 | 17045 | 5380 | 第三次默認進行了清除操作 | IOS、android 通用,用時最長 |
| actions.sendKeys().perform() | 5747 | 3203 | 3298 | 3757 | 第一次較長是等待元素可以點擊 | iOS、android通用,用時較長 |
| adb shell input text | 3999 | 948 | 947 | 891 | 第一次較長是等待元素可以點擊 | 只用于android,時間最短 |
2、清除操作
2.1、webElement.clear()
?該方法在需要清除的元素沒有內容時,耗費時間較長,在5s左右。清除元素有內容時時間在1s左右。如果是密碼輸入框,有幾率出現清除不干凈。
2.2、adb shell input keyevent 67
該方法直接使用adb命令刪除,代碼如下:
webElement.clickString conent = webElement.getText();while (StringUtils.isNotBlank(conent)) {ShellUtils.adbClear();---封裝執行adb命令的方法conent = webElement.getText();}?
從圖可以看出,該刪除方法耗時依賴于元素的長度,比如如果是手機號碼,則刪除要耗時十幾秒。注意:如果是密碼輸入框,則不會進行清除。
2.3、pressKeyCode
該方法是?點擊–全選–刪除,代碼
webElement.click((AndroidDriver<WebElement>) driver).pressKeyCode(29, 28672);((AndroidDriver<WebElement>) driver).pressKeyCode(112)?
該方法刪除時間穩定在1.3左右
?
2.4、總結
| webElement.clear() | 146 | 5238 | 1198 | 4037 | 第一次判斷了text為空,所以沒有進行清除操作,第二次和第四次是密碼輸入框獲取到text為空的原因。 | IOS、android 通用,密碼輸入框用時較長 |
| adb shell input keyevent 67 | 3239 | 723 | 11353 | 780 | 第一次較長是等待元素可以點擊,第三次是要清楚的文案太長 | 只用于android,依賴文本長度,且密碼輸入框不能清除 |
| pressKeyCode | 3282 | 845 | 1288 | 1388 | 第一次較長是等待元素可以點擊 | 只用于android,時間最短 |
?
3、結果
輸入最終代碼如下
case "sendKeys":webElement.click();if (StringUtils.isNotEmpty(webElement.getText())|| Boolean.valueOf(webElement.getAttribute("password"))) {//如果元素內容不為空或者是密碼輸入框,則先進行刪除操作。pressKeyCode刪除 ((AndroidDriver<WebElement>) driver).pressKeyCode(29, 28672); ((AndroidDriver<WebElement>) driver).pressKeyCode(112);}ShellUtils.adbSendKeys(elementLocator.getActionValue());---adb 命令輸入break;?
轉載于:https://www.cnblogs.com/leohou/p/10878075.html
總結
以上是生活随笔為你收集整理的appium输入和清除操作各方法对比(android)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ibatis.net 属性字段中使用 I
- 下一篇: loadRunner12试用