51Testing软件测试论坛
标题:
Appium & Python自动化测试
[打印本页]
作者:
TomChen
时间:
2022-1-6 17:46
标题:
Appium & Python自动化测试
Appium & Python自动化测试
参考:
https://blog.csdn.net/qq_16206535/article/details/79586818
目录
一、Appium安装
1、安装JDK(1.8.0)并配置环境
2、安装Andorid
3、安装appium
4、安装python和pycharm
二、Appium Desktop使用
1、开启Appium
2、Appium Session
3、开启Appium Server
4、生成脚本
5、appium工作原理
6、python脚本
一、Appium安装
1、安装JDK(1.8.0)并配置环境
1、JDK文件下载安装
下载JDK文件,点击运行安装
2、配置环境
(1)新建一个名为“JAVA_HOME”的环境变量,变量值为JDK的安装路径
(2)选择Path,点击下方的“编辑”按钮,在弹出的窗口中添加如下信息:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
(3)新建一个名为“classpath”的环境变量,变量值为:
%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
3、在CMD窗口输入java -version进行验证,若出现JDK版本号则证明安装成功
2.安装Andorid
2.1、安装Andorid SDK(建议使用29版本)
1、下载Andorid SDK文件,点击进行安装(默认安装到C盘)
2、安装完SDK之后,双击Andorid SDK Manager,在Andorid SDK Manager中安装相关工具
3、选择所需要的tools(默认图中前三个),点击红框中的按钮进行安装(这个安装过程时间较长)
注:链接文件中有已经下载好的sdk,直接解压就可以配置系统环境了,截图为在Andorid SDK Manager安装相关工具操作
2.2、安装Andorid Studio
1.下载Andorid Studio,安装,并新建一个项目,下载相关软件。(包括adb)
2.把apksigner.jar从C:\Users\Administrator\AppData\Local\Android\android-sdk\build-tools\32.0.0\lib
拷贝到:C:\Users\Administrator\AppData\Local\Android\android-sdk\platform-tools
3.环境配置
(1)新建ANDROID_HOME变量,变量值为Andorid SDK的路径
(2)Path变量中设置参数值为:
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
(若在一行则两个值中间有分号,不在一行则没有分号)
4.在CMD中输入adb命令,出现版本号则说明安装成功
点击图片可在新窗口打开
3、安装appium
1、下载appium-desktop文件,点击进行安装
2、配置相关环境变量
4、安装python和pycharm
1、先安装python-3.9.0(32位和64位按照自己电脑配置进行选择)
2、再安装pycharm
点击图片可在新窗口打开
二、Appium-Desktop使用
1、开启Appium
1、安装完毕之后,点击桌面图标进行运行
2、Simple为基础设置、Advanced为高级设置、Presets为预设(用于保存在Advance中设置的参数)
一般保持默认值(host和port保持默认值)
3、点击Start Server v1.18.0开启Appium
2、Appium Session
点击图片可在新窗口打开
3、开启Appium Server
点击图片可在新窗口打开
4、生成脚本
可在左侧app页面使用选择工具选择相应元素,在使用Select Element内的工具生成脚本
点击图片可在新窗口打开
5、appium工作原理
-使用python client发送http(专业指“Json Wire Protocol”)指令到appium,appium
通过adb桥梁发送到Uiautomator2(这里以android为例子)最终在android端执行。
点击图片可在新窗口打开
5.1、安装依赖库
pip install Appium-Python-Client
用Python语言编写appium自动化测试脚本的客户端工具。
6、python脚本
6.1登录及退出登录操作
from appium import webdriver
import time
##创建一个字典,用于存储设备和应用信息
desired_caps={
#连接的设备信息
"platformName": "Android",
"deviceName": "E6EDU20526024947",
##进行会话的apk信息,包名和Activity名
"appPackage": "xxxxx",
"appActivity": "xxxxxxx",
##一些参数设置
"unicodeKeyBoard": True
}
#与appium session之间建立联系,括号内为appium服务地址
driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
#一些基于app的操作(包括但不限于点击、输入等,与monkeyDriver所使用的命令相同,都是基于python语言的)
#下面的一些操作是用Appium录制的脚本,appium录制的脚本一般使用byid方法来定位元素
driver.find_element_by_id("cn.phzdp:id/tv_i_know").click()
driver.find_element_by_id("cn.phzdp:id/tv_change_login_type").click()
driver.find_element_by_id("cn.phzdp:id/et_input_phone").send_keys("15837320000")
driver.find_element_by_id("cn.phzdp:id/et_input_pwd").send_keys("qqqq2222")
driver.find_element_by_id("cn.phzdp:id/tv_login").click()
driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button").click()
driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button").click()
driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button").click()
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2