本章主要讲述Appnium的基本应用
场景:针对app进行UI自动化测试,相应的pc端可以使用selenium进行自动化测试
-
前提:需要先搭建adb环境和jdk环境,关于具体的搭建方法之前相关博客已经说过了,我这里就不再重复描述
-
adb环境搭建(blog第一部分):https://blog.csdn.net/Makasa/article/details/120312644?spm=1001.2014.3001.5501
-
jdk环境搭建(blog第二部分):https://blog.csdn.net/Makasa/article/details/107558070
一、下载appnium
- 官网:https://github.com/appium/appium-desktop/releases/tag/v1.15.1
二、操作使用 1、配置appnium运行环境
2、配置设备基础信息
- 我这里是直接用的模拟器,所以配置的模拟器信息
json体可以直接复制,然后把值改为自己机型的配置信息即可
{
"platformName": "Android",
"platformVersion": "10",
"deviceName": "PBCM10",
"appPackage": "com.dingjian",
"appActivity": "com.dingjian.common.framework.MainActivity"
}
2.1)各属性key的含义及获取方式
-
2.1.1)platformName: 声明是ios还是Android系统
-
2.1.2)platformVersion: Android内核版本号,可通过命令查看
adb shell getprop ro.build.version.release
- 2.1.3)deviceName: 连接的设备名称,可通过命令查看
#取model的值 adb devices -l
-
2.1.4)appPackage:apk的包名
-
2.1.5)appActivity:apk的launcherActivity,通过命令查看(前提:需先打开手机应用)
#包名和运行活动都可以获取到 adb shell dumpsys activity | findstr “mResume”
3、基本操作使用按钮介绍
三、脚本示例
# 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"] = "7.1.2"
caps["deviceName"] = "LIO_AN00"
caps["appPackage"] = "com.dingjian"
caps["appActivity"] = "common.framework.GetUniqueCodeActivity"
caps["ensureWebviewsHavePages"] = True
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
el2 = driver.find_element_by_id("com.android.packageinstaller:id/permission_allow_button")
el2.click()
el3 = driver.find_element_by_id("com.dingjian:id/input_unique_code_edtitext")
el3.send_keys("3001")
el4 = driver.find_element_by_id("com.dingjian:id/want_to_apply_for")
el4.click()
el5 = driver.find_element_by_id("com.dingjian:id/login_username")
el5.send_keys("zjl")
el6 = driver.find_element_by_id("com.dingjian:id/login_btn")
el6.click()



