logo头像

appium

appium准备第一个脚本

设置DesiredCapabilities存在于以下库中:1org.openqa.selenium.remote.DesiredCapabilities Desired Capabilities告诉Appium Server需要哪种ssession。以hash键值对的形式存储。 常用(android和ios共有的) Capability Description Values automationName Which automation engine to use Appium (default) or Selendroid platformName Which mobile OS platform to use iOS, Android, or FirefoxOS platformVersion Mobile OS version e.g., 7.1, 4.4 deviceName The kind of mobile device or emulator to use iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, etc… Android专用 Capability Description Values appActivity Activity name for the Android activity you want to launch from your package MainActivity, .Settings appPackage Java package of the Android app you want to run com.example.android.myApp, com.android.settings appWaitActivity Activity name for the Android activity you want to wait for SplashActivity appWaitPackage Java package of the Android app you want to wait for com.example.android.myApp, com.android.settings 获取Android手机型号与设备信息 在命令行中输入“adb shell” 进入shell之后,再输入cat /system/build.prop | grep "product" 输出:123456789101112131415161718192021shell@HS8916QC:/ $ cat /system/build.prop | grep "product"ro.product.model=Hisense I635Tro.product.brand=Hisensero.product.name=I635Tro.product.device=HS8916QCro.product.board=msm8916ro.product.cpu.abi=armeabi-v7aro.product.cpu.abi2=armeabiro.product.manufacturer=Hisensero.product.locale.language=zhro.product.locale.region=CN# ro.build.product is obsolete; use ro.product.devicero.build.product=I635Tro.hmct.product.fullname=Hisense I635T#add for product operator,this value is ct/cu/cmccro.hmct.product.operator=ctro.hmct.smsregister.product=HS-Hisense I635Tro.hmct.product.ua=Mozilla/5.0 (Linux; U; Android 4.4.4; zh-cn; HS-Hisense I635TBuild/KTU84L)ro.hmct.product.ua.suffix=AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 型号:Hisense I635T 查看具体的参数:12345getprop 查看机器的全部信息参数getprop ro.serialno 查看机器的SN号getprop ro.carrier 查看机器的CID号getprop ro.hardware 查看机器板子代号getprop ro.bootloader 查看SPL(Hboot)版本号 设备通过wifi链接PC官方教程Appium有很多良好的特性,其中一个是通过wifi连接设备。适用于多个设备连接一个server的情况。 前提:Android SDK应该安装在机器上。应该安装Android SDK包。 验证设备已经属于调试模式1adb devices 启动设备tcp/ip端口首先用USB连接你的Android设备,然后在终端运行命令,它可以启动设备的5555端口使其在网络上可以连接在TCP/IP模式下重启adb守护进程,然后监听5555端口(adb的默认端口)1adb tcpip 5555 查看设备ip地址现在断开USB连接, 确保设备和你的电脑连接同一个无线网络 查看手机ip,设置—wifi—你连接的wifi—IP地址 连接使用电脑上的adb服务连接设备上的IP地址(使用默认的5555端口)1adb connect 10.70.108.70:5555 测试是否连接成功123C:\Users>adb devicesList of devices attached10.70.108.70:5555 device 通过wifi连接的特别不稳定,还是usb的方便点。 找到apk的appPackage和appActivity通过命令行准备步骤: 在设备上打开目标app 保证设备连上了电脑 Andoid SDK已经安装在系统上 步骤1:打开命令行,输入adb devices查看设备是否连接步骤2:输入adb shell进入与设备交互状态步骤3:打开目标app如facebook输入以下命令1dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' 输出: 12mCurrentFocus=Window{2d31b9ee u0 com.facebook.katana/com.facebook.katana.LoginActivity}mFocusedApp=AppWindowToken{370ebfde token=Token{ad82319 ActivityRecord{7067260 u0 com.facebook.katana/.LoginActivity t3624}}} appPackage是:com.facebook.katanaaapActivity是:com.facebook.katana.LoginActivity第一行斜杠前后的那一串。 注意:执行命令,要保证app没有锁屏,打开了目标app。 退出交互模式输入:exit回车。 其他方法:通过Appium client自动识别,或者,通过第三方识别设备信息的app如SnapDeal。 使用UIAutomatorviewerUIAutomatorviewer在Android sdk和tools文件夹下。用于查看布局层次结构。1uiautomatorviewer 第一个appium测试脚本运行appium打开cmd,输入命令appium 连接手机查看是否连接上,cmd输入adb devices查看设备连接列表。 编写python测试脚本1 安装python-client-appium库:1pip install Appium-Python-Client…