android 自动化测试的小知识点
上下滑动
# @Time : 2022/8/12 11:26
# @Author : wallace.lee
# @File : tools.py
# @Software: PyCharm
# 导入webdriver
from appium import webdriver
from time import sleep
# 初始化参数
desired_caps = {
'platformName': 'Android', # 被测手机是安卓
'platformVersion': '7.1.2', # 手机安卓版本
'deviceName': 'emulator-5554', # 设备名,安卓手机可以随意填写
'appPackage': 'com.android.settings', # 启动APP Package名称
'appActivity': '.Settings', # 启动Activity名称
'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
'resetKeyboard': True, # 执行完程序恢复原来输入法
'noReset': False, # 不要重置App,如果为False的话,执行完脚本后,app的数据会清空,比如你原本登录了,执行完脚本后就退出登录了
'newCommandTimeout': 6000
# 'automationName': 'UiAutomator2'
}
# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://192.168.0.20:4723/wd/hub', desired_caps)
# 退出程序,记得之前没敲这段报了一个错误 Error: socket hang up 啥啥啥的忘记了,有兴趣可以try one try
def swipeUp(driver, t=500, n=1):
'''向上滑动屏幕'''
l = driver.get_window_size()
x1 = l['width'] * 0.5 # x坐标
y1 = l['height'] * 0.75 # 起始y坐标
y2 = l['height'] * 0.25 # 终点y坐标
for i in range(n):
driver.swipe(x1, y1, x1, y2, t)
def swipeDown(driver, t=500, n=1):
'''向下滑动屏幕'''
l = driver.get_window_size()
x1 = l['width'] * 0.5 # x坐标
y1 = l['height'] * 0.25 # 起始y坐标
y2 = l['height'] * 0.75 # 终点y坐标
for i in range(n):
driver.swipe(x1, y1, x1, y2,t)
def swipLeft(driver, t=500, n=1):
'''向左滑动屏幕'''
l = driver.get_window_size()
x1 = l['width'] * 0.75
y1 = l['height'] * 0.5
x2 = l['width'] * 0.25
for i in range(n):
driver.swipe(x1, y1, x2, y1, t)
def swipRight(driver, t=500, n=1):
'''向右滑动屏幕'''
l = driver.get_window_size()
x1 = l['width'] * 0.25
y1 = l['height'] * 0.5
x2 = l['width'] * 0.75
for i in range(n):
driver.swipe(x1, y1, x2, y1, t)
swipeUp(driver, 6000, 7)
sleep(5)
driver.quit()
小米计算器的操作入门
# @Time : 2022/8/12 11:26
# @Author : wallace.lee
# @File : tools.py
# @Software: PyCharm
# 导入webdriver
from appium import webdriver
from appium.webdriver.common.appiumby import By
from appium.webdriver.common.touch_action import TouchAction
from time import sleep
# 初始化参数
desired_caps = {
'platformName': 'Android', # 被测手机是安卓
'platformVersion': '7.1.2', # 手机安卓版本
'deviceName': 'emulator-5554', # 设备名,安卓手机可以随意填写
'appPackage': 'com.miui.calculator', # 启动APP Package名称
'appActivity': '.cal.CalculatorActivity', # 启动Activity名称
'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
'resetKeyboard': True, # 执行完程序恢复原来输入法
'noReset': False, # 不要重置App,如果为False的话,执行完脚本后,app的数据会清空,比如你原本登录了,执行完脚本后就退出登录了
'newCommandTimeout': 6000
# 'automationName': 'UiAutomator2'
}
# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://192.168.0.20:4723/wd/hub', desired_caps)
# 退出程序,记得之前没敲这段报了一个错误 Error: socket hang up 啥啥啥的忘记了,有兴趣可以try one try
action = TouchAction(driver)
sleep(2)
driver.find_element(By.ID,"android:id/button1").click()
sleep(1)
#点击屏幕中间的位置
action.press(x=0,y=308).release().perform()
sleep(1)
driver.find_element(By.ID,"com.miui.calculator:id/digit_1").click()
driver.find_element(By.ID,"com.miui.calculator:id/op_add").click()
driver.find_element(By.ID,"com.miui.calculator:id/digit_2").click()
driver.find_element(By.ID,"com.miui.calculator:id/btn_equal_s").click()
sleep(3)
driver.quit()