一、Appium介绍
1.1.Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。可用于iOS和Android操作系统。
1.2.原生的应用是指用android或iOS的sdk编写的应用(纯用JAVA写的)
1.3.移动网页应用是指网页应用,类似于ios中safari应用或者Chrome应用或者类浏览器的应用(纯用HTML写的)
1.4.混合应用是指一种包裹webview的应用,原生应用于网页内容交互性的应用
1.5.重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试脚本
二、Appium自动化测试环境搭建
2.1.我们使用Appium和python来进行自动化测试,需要安装两个东西,一个是Appium的客户端,一个是Appium-python库。这两个需要安装的东西在加上手机就可以进行自动化测试,它们之间的关系是:python代码->Appium-python库->Appium->手机。
三、Appium客户端安装(端口号4723)
3.1.win+r 运行npm i -g appium@next安装appium
3.2.win+r 运行appium driver install uiautomator2 安装驱动
3.3.重启电脑
3.4.下载雷电模拟器雷电安卓模拟器-手游模拟器安卓版_android手机模拟器电脑版_雷电模拟器官网 (ldmnq.com)
3.5.启动模拟器,在命令行输入adb devices,确保连接到模拟器设备
3.6.执行appium,启动appium服务
3.7.下载Appium Inspector(可以获取元素)appium/appium-inspector:用于移动应用程序等的 GUI 检查器,由(单独安装的)Appium 服务器提供支持 (github.com)
3.8.在pycharm中验证
import unittest
from appium import webdriver
from selenium.webdriver.common.by import By
capabilities = {}
capabilities['platformName'] = 'Android'
capabilities['automationName'] = 'uiautomator2'
capabilities['deviceName'] = 'Android'
capabilities['appPackage'] = 'com.android.settings'
capabilities['appActivity'] = 'Settings'
capabilities['language'] = 'en'
capabilities['locale'] = 'US'
appium_server_url = 'http://localhost:4723'
class TestAppium(unittest.TestCase):
def setUp(self) -> None:
self.driver = webdriver.Remote(appium_server_url,capabilities)
def tearDown(self) -> None:
if self.driver:
self.driver.quit()
def test_find_battery(self) -> None:
el = self.driver.find_element(By.XPATH, value='//*[@text="Battery"]')
el.click()
if __name__ == '__main__':
unittest.main()