appium自动化测试用来控制手机

Appium自动化测试
软件安装
安卓SDK安装
tools下面有uiautomatorview
可以获取手机元素信息
下载夜神模拟器
虚拟手机
安装Python
安装Node.js
https://nodejs.org/en/download/releases/
node -v查看版本
npm -v
JDK安装
安装Appium Server
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装Appium Desktop,它是Appium Server的图形界面
appium -v
cnpm install [email protected] -g
Appium-Python-Client
通过命令: pip install Appium-Python-Client 进行安装。 安装后可以通过如下命令来检测是否安装成功。
输入命令“from appium import webdriver” 回车,如果控制台没有报错,则说明安装成功。
appium-doctor
cnpm install appium-doctor -g
运行原理
程序通过Appium连接手机终端
adb
连接终端,用命令控制终端
adb version
adb devices
查看设备
adb connect 127.0.0.1:62001
连接设备
adb kill-server
关闭服务
adb start-server
开启服务
adb shell pm list package
用uiautomatorview获取app的包名字
查看所有包名字
aapt dump badging apk路径,查看activatity
或者aapt dump badging xxxx.apk | find “launchable-activity”
Activity
把手机当做浏览器的话,Activity就相当于网页
安卓四大组件之一
定位元素
id
class
相对定位
通过父元素定位子元素
xpath
元素等待
强制等待
time.sleep(5)
隐式等待
driver.implicitly_wait(5)
全部元素都最多等待5秒
显式等待
显式等待是针对某个元素来设置的等待时间。
方法WebDriverWait格式参数如下:
from selenium.webdriver.support.ui import WebDriverWait

WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
driver : WebDriver
timeout : 最长超时时间,默认以秒为单位
poll_frequency : 休眠时间的间隔时间,默认为0.5秒
ignored_exceptions : 超时后的异常信息,默认情况下抛NoSuchElementException异常。
WebDriverWait()一般和until()或until_not()方法配合使用,另外,lambda提供了一个运行时动态创建函数的方法。
from selenium.webdriver.support.ui import WebDriverWait
WebDriverWait(driver,10).until(lambda x:x.find_element_by_id(“elementID”))
滑动
driver.swipe(x1,y1,x2,y1,1000)
from time import sleep
from find_element.capability import driver

#获取屏幕尺寸
def get_size():
x=driver.get_window_size()[‘width’]
y=driver.get_window_size()[‘height’]
return x,y

#显示屏幕尺寸(width,height)
l=get_size()
print(l)

#向左滑动
def swipeLeft():
l=get_size()
x1=int(l[0]*0.9)
y1=int(l[1]*0.5)
x2=int(l[0]*0.1)
driver.swipe(x1,y1,x2,y1,1000)

#向左滑动2次
for i in range(2):
swipeLeft()
sleep(0.5)

driver.find_element_by_id(‘com.tal.kaoyan:id/activity_splash_guidfinish’).click()

	TouchAction
		长按、点击、移动、暂停等动作
	多点执行
		MultiAction
appium -p 端口号
	启用多个appium服务

appium自动化测试用来控制手机_第1张图片

你可能感兴趣的:(appium自动化测试用来控制手机)