首页 > 编程语言 >Python+Appium实现APP自动化测试

Python+Appium实现APP自动化测试

时间:2023-02-24 16:23:24浏览次数:53  
标签:Appium Python APP caps adb Android com

一、环境准备

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

2.安装Java JDK 、Android SDK

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

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

二、真机测试

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依赖包

       

       

       

标签:Appium,Python,APP,caps,adb,Android,com
From: https://www.cnblogs.com/sumingyi/p/17151921.html

相关文章

  • WPF图标库——MahApps.Metro.IconPacks
    1.https://github.com/MahApps/IconPacks.Browser下载下载后在bin目录下运行“IconPacks.Browser”挑选需要使用的图标运行后如下:  2.选择想要使用的图标,拷贝代码......
  • GDB解coredump文件报Python异常解决办法
    GDB解coredump文件报Python异常解决办法解core文件经常提示以下错误信息:PythonException<class'ModuleNotFoundError'>Nomodulenamed'gdb':gdb:warning:Couldno......
  • [Typescript] Identity function - Reverse mapped types with identity function 02
    import{Equal,Expect}from'../helpers/type-utils';exportfunctionmakeEventHandlers<Textends{[KeyinkeyofT]:(key:Key)=>void}>(obj:T){r......
  • Python 简易小项目
    Prerequisite实习的时候有个这样要求,虽然我不太想做,但毕竟是工作(其实还有点意思),于是我花了几个小时出(魔改)了几道,此贴作个记录构建一个简易图书馆#!/usr/bin/envpytho......
  • uni-app学习笔记之----getCurrentPages()的使用
    1、判断是否是首页如果得到数组元素只有一个,说明是首页2、得到页面中的信息得到数组中的第一个元素代表首页,最后一个元素代表当前页 ......
  • Python中出现IndentationError:unindent does not match any outer indentation level
    【问题】 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError:unindentdoesnotmatchanyo......
  • Python代码段
    EXCEL导出操作deflists_to_xls(rows,xls,header=None):columns=rows[0]range_columns=range(len(columns))data=rows[1:]startrow=0......
  • uni-app:微信小程序:使用位置权限getlocation时报错(hbuilderx 3.7.3)
    一,getlocation时报错:代码:<template><view><buttonstyle="width:710rpx;height:80rpx;"@click="openMap">打开地图</button></view></template>......
  • mapper动态代理
    Dao接口的实现类仅仅是通过sqlsession的相关api定位到映射文件mapper中的相应id的sql语句,真正对DB进行操作的工作是由框架通过mapper中的sql完成的。mybatis框架抛开dao的......
  • Python数据分析
    数据分析01_abnormal_checkCode1#-*-coding:utf-8-*-23#代码3-1使用describe()方法即可查看数据的基本情况4importpandasaspd5caterin......