一、andriod sdk安装与使用
1、安装JDk--自行百度
一、进入以下网站下载
选择sdk工具-sdktools,这个工具比较好,可以通过SDK Manager下载到各种想要的包有zip与exe的两个版本,本人比较喜欢exe的版本,避免安装的内容不充分二、安装sdk tools
三、使用sdk manager安装所需包
常用的android版本
扩展工具包安装
点击install后自动安装
四、配置环境变量
1、添加ANDROID_SDK_HOME系统变量
这里安装路径为C:\Users\trey_\AppData\Local\Android\android-sdk,如图所示:2、系统的Path变量后,追加;% ANDROID_SDK_HOME%\platform-tools;% ANDROID_SDK_HOME%\tools,如图所示:
五、检测Android SDK是否安装成功
adb命令报错,
将以下三个文件(C:\Users\trey_\AppData\Local\Android\android-sdk\platform-tools)拷贝至(C:\Users\trey_)中再次执行adb命令,成功
二、安装Appium-desktop
一、appium环境搭建(先决条件)
1、安装JDk2、安装SDK参考文章:https://www.cnblogs.com/mrwhite2020/p/13160994.html3、安装appnium(旧版node安装)参考文章:https://www.cnblogs.com/mrwhite2020/p/13037011.html1、官网下载安装包: http://appium.io/
2、本地安装
直接点击安装
3、完成打开,界面如下:
1、打开appium,选择4723端口->start server2、选择 inspector session->Autoatic server3、设置desired capabilites根据以上5点属性配置appium,并点击启动上的配置说明启动cmd,输入 nox_adb connect 127.0.0.1:62001 (62001是夜神模拟器所使用的端口) 然后输入 nox_adb devices -l 查看连接的设备 >nox_adb devices -l List of devices attached 127.0.0.1:62026 device product:sagit model:MI_9 device:shamu transport_id:1 ----deviceName,,写127.0.0.1:62026,,或者 MI_9 可以在模拟器中打开app,然后再cmd中使用 adb shell dumpsys window | findstr mCurrentFocus 命令查看当前app的"appPackage"和"appActivity" >adb shell dumpsys window | findstr mCurrentFocus mCurrentFocus=Window{3a41ebf0 u0 com.UCMobile.x86/com.uc.browser.InnerUCMobile} ---"appPackage": "com.UCMobile.x86" ---"appActivity": "com.uc.browser.InnerUCMobile"+++++++++++++
解决:appium每次app启动时,已登录账号都要输入一次账号密码 https://www.cnblogs.com/pythonywy/p/12661858.html desired_caps['noReset'] = True desired_caps['fullReset'] = False
+++++++++++++
appium对夜神模拟器的参数我配置如下:(打开UC)
========完整代码======== { "platformName": "Android", "deviceName": "MI 9", "appPackage": "com.UCMobile.x86", "appActivity": "com.uc.browser.InnerUCMobile", "platformVersion": "5.1.1", "automationName": "UiAutomator2" "noReset": "True" "fullReset": "False" } 可以使用Automatic Server,点击Start Session, +++++介绍++++++ + appium所需配置属性 + 1、deviceName:设备名称,127.0.0.01:62001 + 2、platformName:操作系统名称,Android + 3、platformVersion:操作系统版本,5.1.1 + 4、appPackage:应用程序的包名,com.tencent.mobileqq + 5、appActivity:应用程序主入口,com.tencent.mobileqq.activity.LoginActivity ++++++++++++++ =======appium连接逍遥模拟器的教程如下:======= https://blog.csdn.net/qq_43572758/article/details/104162888 连接真机,开启USB调试即可 如果报错:error: device unauthorized. cmd中运行 adb kill-server adb start-server
====执行会报错:
异常处理
1、启动后报错-环境配置An unknown server-side error occurred while processing the command. Original error: Could not find 'adb.exe' in PATH. Please set the ANDROID_HOME or ANDROID_SDK_ROOT environment variables to the corect Android SDK root directory path.此问题排查了好久,需要重新设置环境变量将系统变量ANDROID_SDK_HOME改名为ANDROID_HOME,path中的也同步更改,然后重启appium服务器五、启动成功之后可通过appnium中的元素定位查找到所需的相应app位置,并用于录制或python脚本的编写
4.安装Appium Client
1、前置条件python环境已安装部署:2、通过命令行cmd下进行安装pip.exe install Appium-Python-Client3、安装完成后pip.exe list可查询到对应的安装版本pip.exe list | findstr Appium
三、python+appium使用方法
appium自动化测试流程同selenium比较像,首先通过webdrive打开相应的app,再根据元素定位找到相应的元素进行操作。其中元素定位的过程可以使用通过点击左侧按钮,根据右侧app source或者选择器中选择相应的属性脚本如下:
from appium import webdriver from time import sleep #连接手机app初始化的一些信息 desc={} desc['deviceName']='127.0.0.1:62001'#手机设备名称,adb devices desc['platformVersion']='5.1.1'#手机版本,在手机中:设置--关于手机 desc['platformName']='Android' #手机类型,ios或android #输入命令,获取app信息:aapt dump badging C:\Users\83473\Desktop\mobileqq_android.apk desc['appPackage']='com.tencent.mobileqq'#包名 desc['appActivity']='com.tencent.mobileqq.activity.SplashActivity'#启动入口 desc["unicodeKeyboard"] = "True"#appium提供的一种输入法,可以传中文。测试时直接用这个输入法 desc["resetKeyboard"] = "True"#程序结束时重置原来的输入法 desc["noReset"] = "True"#不初始化手机app信息(类似不清除缓存) #启动服务端,再cmd窗口输入appium.如果appium没有安装好,可以打开appium-desktop.也相当于启动了服务 driver=webdriver.Remote('127.0.0.1:4723/wd/hub',desc)#访问服务接口,并启动手机app。url参数是当appium启动后,默认访问服务地址和接口 sleep(10) #元素定位 #点击登陆 driver.find_element_by_id("com.tencent.mobileqq:id/btn_login").click() sleep(1) #输入账户 driver.find_element_by_xpath("//android.widget.EditText[@content-desc='请输入QQ号码或手机或邮箱']").send_keys("xxxxxx") sleep(3) #输入密码 driver.find_element_by_id("com.tencent.mobileqq:id/password").send_keys("xxxxxx") sleep(1) #确认 driver.find_element_by_id("com.tencent.mobileqq:id/login").click()结果校验
通过脚本,顺利登陆成功qq。
Comments | NOTHING