zoukankan      html  css  js  c++  java
  • appium使用过程中遇到的问题

    1. 使用uiautomatorviewer,需要关闭appium,不然无法定位到元素

    2. 代码中启动app后,休眠几秒,等待页面加载完成后再进行操作

    3. name定位就是通过UI Automator工具查看的text属性

      appium1.5以下老的版本是可以通过name定位的,新版本从1.5以后都不支持name定位了

      解决方法:

        在C:UsersyxAppDataRoaming pm ode_modulesappium ode_modulesappium-android-driveruildlibdriver.js文件中,把this.locatorStrategies = ['xpath', 'id',

    'class name', 'accessibility id', '-android uiautomator'];修改为this.locatorStrategies = ['xpath', 'id', 'class name', 'accessibility id', '-android uiautomator','name'];

    4. app分为原生应用、web应用、混合应用 

      这时候可以查看元素属性,它的class属性,上面写着WebView,那毫无疑问这种页面就是web应用了

      利用appium测试web应用,uiautomatorviewer无法元素识别,定位基本依赖于xpath识别方式

      解决方法:

        关闭uiautomatorviewer

        在cmd中运行:adb shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap -e disableAndroidWatchers false

        启动uiautomatorviewer

    5. 真机首次打开app有的手机会出现权限弹窗问题,模拟器是不会有这种权限弹窗的

    6. 输出日志到手机:adb logcat -f /sdcard/yx/yx.txt

     输出日志到电脑:adb logcat > d:yxyx.txt  adb logcat | find "com.meitua.sd" > d:yxyx.txt

    7. 测试脚本字典参数

      (1). automationName:指定自动化测试引擎,可以是Appium (默认) 或 Selendroid。如果是较新的Android版本,如6.0以上,则必须明确指定automationName=

        ‘uiautomator2’

      (2). platformName:指定要测试的手机操作系统,如:iOS,Android或FirefoxOS

      (3). platformVersion:移动操作系统版本,如4.4.2

      (4). deviceName:使用的手机类型或模拟器类型。在iOS中,必须使用“instruments -s devices”命令得到的设备编号

      (5). app:指定待测试应用程序

      (6). browserName:如果是针对手机上的浏览器应用进行测试,需要指定其浏览器名称。在iOS上可用“Safari”,在Android上可指定“Chrome”,“Chromium”或“Browser”

      (7). newCommandTimeout:设置命令超时时间,单位:秒。达到超时时间仍未接收到新的命令时Appium 会假设客户端退出然后自动结束会话

      (8). autoLaunch:Appium是否需要自动安装和启动应用,默认值为true

      (9). udid:连接的移动设备的唯一设备标识

      (10). autoWebview:直接转换到 WebView 上下文。 默认值为false

      (11). noReset:不要在会话前重置应用状态,默认为false

      (12). fullReset:在会话结束后自动清除被测应用,默认为false

      (13). appActivity:应用包中启动的 Android Activity 主类名称。它通常需要在前面添加“.”

      (14). appPackage:想运行的Android应用程序的主包名

      (15). deviceReadyTimeout:设置等待一个模拟器或真机准备就绪的超时时间

      (16). unicodeKeyboard:设置使用Unicode输入法,这样才能支持中文输入

      (17). resetKeyboard:在使用了unicodeKeyboard参数后,对其进行重置,还原为默认设置

  • 相关阅读:
    Linux之Permission denied没有权限
    soapUI的简单使用(webservice接口功能测试)
    jmeter学习(二),如何安装jmeter?
    loadrunner检查点设置失败,日志中SaveCount无法被正常统计出来
    loadrunner破解出现“license security violation,Operation is not allowed”的错误提示
    安装LoadRunner11报缺少vc2005_sp1_with_atl_fix_redist的错误
    IOS测试,打不开要测试的APP怎么办?设置信任
    Jmeter的好搭档Badboy的安装与简单使用
    映射网络驱动器会自动断开的解决方法
    oracle中如何修改用户名和密码
  • 原文地址:https://www.cnblogs.com/badbadboyyx/p/12098826.html
Copyright © 2011-2022 走看看