你会吗?Python+Appium实现自动化测试

∥☆過路亽.° 提交于 2020-08-10 20:06:12

一、环境准备

1.脚本语言:Python3.x IDE:安装P ycharm

2.安装Java JDK 、Android SDK

3.adb环境,path添加E:\Software\Android_SDK\platform-tools

4.安装Appium for windows,官网地址 http://appium.io/

 

 

 点击下载按钮会到GitHub的下载页面,选择对应平台下载

 

 

 安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK

 

 

 

 

 

 然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到

 

 

 

加入我们,642830685,群,领取免费的福利,大厂面试资料,自动化接口、框架搭建等资料

二、真机测试

1.连接手机

打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试

 

 

 测试是否连接成功,可执行命令adb devices

 

 

 

出现上图就证明手机和电脑连接成功。。。

2. 点击Start Inspector Session,

 

 

 按如下配置Desired Capabilities

 

 

 

 platformName:声明是ios还是Android系统

platformVersion: Android内核版本号,可通过命令adb shell getprop ro.build.version.release查看

 

 

 deviceName:连接的设备名称,通过命令adb devices -l中model查看

 

 

 

appPackage:apk的包名

appActivity:apk的launcherActivity,通过命令adb shell dumpsys activity | findstr “mResume”查看(需先打开手机应用)

 

 

 

注意:Android 8.1之前应使用adb shell dumpsys activity | findstr “mFocus”

3.运行Start Session,选择元素

 

 

 

右侧 Selected Element 区域有三个按钮

  • Tap:执行选中元素的点击事件
  • Send Keys:为文本框等对象传值
  • 如果是文本输入元素,就清除文本

4.录制脚本

 

 录制生成的python代码如下:

# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python

from appium import webdriver caps = {} caps["platformName"] = "Android" caps["platformVersion"] = "9.0.0" caps["deviceName"] = "Mi_Note_3" caps["appPackage"] = "com.antfortune.wealth" caps["appActivity"] = "com.alipay.mobile.quinox.LauncherActivity" caps["resetKeyboard"] = True caps["unicodeKeyboard"] = True driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) el1 = driver.find_element_by_id("com.antfortune.wealth.login:id/login_main_button") el1.click() el2 = driver.find_element_by_id("com.alipay.mobile.accountauthbiz:id/auth_login_btn") el2.click() driver.quit()

5.在pycharm中建立项目将代码粘入,在运行之前,还需通过pip命令安装pip install Appium-Python-Client依赖包

 

 

 解决方法:在开发者模式下,打开usb调试功能和use模拟点击,两个都要打开,此时再重新运行,即可解决

加入我们,642830685,群,领取免费的福利,大厂面试资料,自动化接口、框架搭建等资料

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!