Appium之實操(瞭解配置項)

使用Appium,測試對象APP的運行環境有兩種:① 真實設備 如手機  ②模擬器 如夜神node

鏈接真實設備:android

       - 進入開發者模式,啓動usb調試web

       - 在電腦上 執行adb命令  adb devices -lsession

          注意: 這個adb在sdk\platform-tools\  請確保路徑在path環境變量中;若是不能識別,請安裝對應手機的usb驅動。app

鏈接模擬器:工具

       - 電腦上下載安裝好一個模擬器,仍然是進入設置,調整爲開發模式;測試

       - cmd  ---利用adb命令  adb  devices 執行查看是否鏈接上ui

          注意:有時候會出現adb鏈接不上模擬器的問題,是由於兩個不一樣adb版本的差別,致使版本不匹配。調試

                    解決辦法是:cmd ----  直接輸入adb connect 127.0.0.1:62001code

-----------------------------------------------------------------------------------------------------------------------------------------------------------

下面看實際例子:

       import time,traceback

       from appium import webdriver

       desired_caps = {

             'platformName': 'Android',    #  測試平臺

             'platformVersion': '4.4.2',      #  平臺版本

             'deviceName': 'xxx',           #  設備名  可自定義

             #   'app': r'd:\apktoutiao.apk',   #   若是設備上未安裝apk,可直接填寫所測apk的包名路徑

             'appPackage': 'io.manong.developerdaily',    #  app啓動的包文件名

             'appActivity': 'io.toutiao.android.ui.activity.LaunchActivity',    #   app啓動的入口文件名

             'unicodeKeyboard': True,    #  使用appium的輸入法,支持中文並隱藏鍵盤

             'resetKeyboard': True,        #  重置鍵盤輸入法   即自動化後,會還原成原來的輸入法

             'noReset': True,           #   清除session信息,而且不會刪除應用。   爲了避免保存修改的數據和app設置的內容而不影響下次使用

             'newCommandTimeout': 6000    #   設置driver超時時間   appium server(服務端)監聽客戶端,認爲沒有鏈接通訊了,就會超時斷掉

       }

       #  啓動Remote RPC

       driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps )

       driver.implicity_wait(10)

       try:

            #  根據ID定位元素 用uiautomatorviewer工具

            driver.find_element_by_id('tab_bar_plus').click()

            time.sleep(1)

            driver.find_element_by_id('btn_email').click()

            time.sleep(1)

            #  輸入用戶名、密碼

            ele1 = driver.find_element_by_id('edt_email')

            ele1.send_keys('xxxx')

            ele2 = driver.find_element_by_id('edt_password')

            ele2.send_keys('xxxx')

            time.sleep(2)

            #  點擊登陸

            driver.find_element_by_id('btn_login').click()

       except:

            print(traceback.format_exc())

       input('*****Press to quit..*****')

       driver.quit()

----------------------------------------------------------------------------------------------------------------------------------------------------------

        在部分Android機型進行每次運行最新版的appium-desktop都須要安裝AppiumSettings以及Unlock,而且安裝過程當中須要用戶手動來確認,即便測試機上已經安裝了這兩個組件,

運行appium也會要求安裝,對於測試以及腳本的調試來講很是不便。

解決辦法:

       j進入appium的安裝目錄 如:C:\User\Administrator\AppData\Local\Programs\Appium\resources\app\node_modules\appium-android-driver\lib  找到android-helpers.js文件進入將:

             //await  adb.install(unicodeIMEPath,false);

             //await  gelpers.pushSettinggsApp(adb);

             //await  helpers.pushUnlock(adb);   通通註釋掉。

      繼續將:  //return_regeneratorRuntime.awrap(adb.install(_appiumAndroidIme.path,false))註釋掉,而且在該行下方加上一行

   return context$1$0.abrupt('return',defaultIME);

      繼續修改如下兩行改法同上面這個同樣:

       //return _regeneratorRuntime.awrap(helpers.pushSettingsApp(adb));這句註釋掉

           return context$1$0.abrupt('return',defaultIME);   新增這句

       //return _regeneratorRuntime.awrap(helpers.pushUnlock(adb));這句註釋掉

              return context$1$0.abrupt('return',defaultIME);  新增這句

      最後保存退出。重啓appium便可。

相關文章
相關標籤/搜索