欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android測(cè)試中Appium的一些錯(cuò)誤解決技巧

 更新時(shí)間:2018年10月18日 15:10:35   作者:tpnet  
今天小編就為大家分享一篇關(guān)于Android測(cè)試中Appium的一些錯(cuò)誤解決技巧的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

問(wèn)題

1. error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress

之前的會(huì)話沒(méi)有關(guān)閉,然后你又運(yùn)行了測(cè)試實(shí)例,也沒(méi)有設(shè)置覆蓋.
解決:

1. 重新停止appium服務(wù),開(kāi)啟Appium服務(wù)
2. 在Genarel Setting那里設(shè)置覆蓋Session,重啟Appium

測(cè)試結(jié)束在AfterClass加driver.quit()

2. error: Failed to start an Appium session, err was: Error: Command failed: C:\Windows\system32\cmd.exe /s /c “D:\android-sdk-windows\platform-tools\adb.exe -s adb server version (32) doesn't match this client (36); killing…

  • wait-for-device”
  • error: could not install smartsocket listener: cannot bind to 127.0.0.1:5037:

沒(méi)有鏈接上手機(jī)或者模擬器,請(qǐng)確認(rèn)已經(jīng)連接成功,重新鏈接

3. error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device.

手機(jī)系統(tǒng)低于4.2,appium不支持4.2.2以下的系統(tǒng),請(qǐng)換一個(gè)手機(jī)或者模擬器來(lái)測(cè)試。

4. Error: Permission to start activity denied.

**activity在清單文件里面沒(méi)添加android:exported=”true”的話,你不能直接打開(kāi)對(duì)應(yīng)的activity,需要從啟動(dòng)頁(yè)activity打開(kāi)。
exported屬性就是設(shè)置是否允許activity被其它程序調(diào)用**

5. error: Failed to start an Appium session, err was: Error: Activity used to start app doesn't exist or cannot ve launched! Make usre it exists and is launchable activity

要打開(kāi)的activity不存在,activity路徑錯(cuò)誤,改為完整正確的activity路徑

6. error: Failed to start an Appium session, err was: Error: ‘java - version' failed. Error: Command failed: C:\Windows\system32\cmd.exe /s /c “java -version”

Java版本錯(cuò)誤,請(qǐng)安裝最新的版本。

7.> info: [debug] Error: Command failed: C:\Windows\system32\cmd.exe /s /c “D:\android-sdk-windows\platform-tools\adb.exe -s 8806a0b0 shell “echo ‘ready‘“error: unknown host service

鏈接手機(jī)失敗,重新鏈接手機(jī)即可,我就是重新拔插了一下usb

Error: Command failed: C:\Windows\system32\cmd.exe /s /c “D:\android-sdk-windows\platform-tools\adb.exe -s 8806a0b0 shell “echo ‘ping'”“

  • error: unknown host service

adb被突然占用導(dǎo)致,例如你在運(yùn)行用例的時(shí)候運(yùn)行了模擬器。

8. UIAutomatorViewer提示: Unable to connect to adb. Check if adb is installed correctly

解決,sdk升級(jí)到了25產(chǎn)生的問(wèn)題。

解決方法:

  1. 將adb.exe 復(fù)制一份到uiautomatorviewer.bat 目錄下
  2. 修改uiautomatorviewer.bat文件最后一行(改binddir=%prog_dir%為自己的platform-tools本地路徑)

技巧

1. 每次測(cè)試都重新安裝app

為capabilities色設(shè)置noReset為true
capabilities.setCapability(“noReset”, true);

2. 中文亂碼

這都是編碼問(wèn)題

1.方法1:

Android Studio修改文件編碼的方法,最底部的UTf-8,點(diǎn)擊選GBK就可以了,reload文件。(ps: 先把文件內(nèi)容全選復(fù)制一下再轉(zhuǎn)換編碼,再粘貼,不然文件內(nèi)容就變亂碼了)

2.方法2:

用的是原來(lái)的UTF-8編碼,然后在測(cè)試module的build.gradle里面添加三行代碼

tasks.withType(JavaCompile){
 options.encoding = 'UTF-8'
}

3. 清除編輯框EditText內(nèi)容

這個(gè)問(wèn)題好像是看手機(jī)系統(tǒng)的,我之前的手機(jī)就會(huì)出現(xiàn)sendKeys的時(shí)候沒(méi)有全選去掉本來(lái)的內(nèi)容,現(xiàn)在都會(huì)自動(dòng)全選覆蓋了,這個(gè)也不算問(wèn)題了。

 /**
  * 逐字刪除編輯框中的文字
  * @param element 文本框架控件
  */
 public void clearText(AndroidElement element){
  String className = element.getClass().getSimpleName();
  if (className.equals("EditText")){
   String text = element.getText();
   //跳到最后
   driver.pressKeyCode(KEYCODE_MOVE_END);
   for (int i = 0; i < text.length(); i ++){
    //循環(huán)后退刪除
    driver.pressKeyCode(BACKSPACE);
   }
  }else {
   print("不是文本輸入框架,無(wú)法刪除文字");
  }
 }

4. 點(diǎn)擊輸入法鍵盤的回車搜索

方法1: 切換輸入法

利用adb命令先切換為自己的輸入法,按了搜索再切換為appium的輸入法

查看當(dāng)前手機(jī)的輸入法

cmd執(zhí)行下面的的代碼

adb shell ime list -s

可以看到類似下面的結(jié)果,

C:\Users\LITP>adb shell ime list -s
com.baidu.input_mi/.ImeService
com.sohu.inputmethod.sogou.xiaomi/.SogouIME
io.appium.android.ime/.UnicodeIME
C:\Users\LITP>

執(zhí)行adb命令

先寫好一個(gè)執(zhí)行cmd的方法

 /**
  * 執(zhí)行adb命令
  * @param s 要執(zhí)行的命令
  */
 private void excuteAdbShell(String s) {
  Runtime runtime=Runtime.getRuntime();
  try{
   runtime.exec(s);
  }catch(Exception e){
   print("執(zhí)行命令:"+s+"出錯(cuò)");
  }
 }

在需要搜索的時(shí)候執(zhí)行下面的代碼,切換的輸入法用自己查看列表的輸入法內(nèi)容,我這里是搜狗輸入法

//使用adb shell 切換輸入法-更改為搜狗拼音,這個(gè)看你本來(lái)用的什么輸入法
excuteAdbShell("adb shell ime set com.sohu.inputmethod.sogou.xiaomi/.SogouIME");
//再次點(diǎn)擊輸入框,調(diào)取鍵盤,軟鍵盤被成功調(diào)出
clickView(page.getSearch());
//點(diǎn)擊右下角的搜索,即ENTER鍵
pressKeyCode(AndroidKeyCode.ENTER);
//再次切回 輸入法鍵盤為Appium unicodeKeyboard
excuteAdbShell("adb shell ime set io.appium.android.ime/.UnicodeIME");

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論