• Appium之实操(了解配置项)


    使用Appium,测试对象APP的运行环境有两种:① 真实设备 如手机  ②模拟器 如夜神

    连接真实设备:

           - 进入开发者模式,启动usb调试

           - 在电脑上 执行adb命令  adb devices -l

              注意: 这个adb在sdkplatform-tools  请确保路径在path环境变量中;如果不能识别,请安装对应手机的usb驱动。

    连接模拟器:

           - 电脑上下载安装好一个模拟器,仍然是进入设置,调整为开发模式;

           - cmd  ---利用adb命令  adb  devices 执行查看是否连接上

              注意:有时候会出现adb连接不上模拟器的问题,是因为两个不同adb版本的差异,导致版本不匹配。

                        解决办法是:cmd ----  直接输入adb connect 127.0.0.1:62001

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

    下面看实际例子:

           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:UserAdministratorAppDataLocalProgramsAppium esourcesapp ode_modulesappium-android-driverlib  找到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即可。

  • 相关阅读:
    Biba模型简介
    Fragment 与 Activity 通信
    小米2S 连接Ubuntu Android Studio
    【转】Android 实现“再按一次退出程序”
    取消 EditText 自动聚焦弹出输入法界面
    为Android Studio 项目手动下载gradle
    【转】Java读取文件方法大全
    sudo: /etc/sudoers 的模式为 0551,应为 0440
    Win7 下硬盘安装Linux Mint 17
    Linux Versus Windows, Ubuntu/Mint V XP/Vista/7
  • 原文地址:https://www.cnblogs.com/peipei-Study/p/11987412.html
Copyright © 2020-2023  润新知