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便可。

相关文章
相关标签/搜索