import os
import time
import random
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from appium.webdriver.extensions.android.nativekey import AndroidKey
desired_caps = {
'platformName': 'Android', # 被测手机是安卓
'deviceName': 'xxx', # 设备名,安卓手机可以随意填写
'appPackage': 'com.taobao.taobao', # 启动APP Package名称
'appActivity': 'com.taobao.tao.TBMainActivity', # 启动Activity名称
'noReset': True, # 不要重置App
}
# 连接Appium Server,初始化自动化环境
print("开始打开app的时间:",time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
print("app打开完成时间:",time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
test = driver.find_element_by_accessibility_id("领淘金币")
print("开始点击时间:",time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
test.click()
print("结束点击时间:",time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
输出结果:
开始打开app的时间: 2020-10-25 15:24:53
app打开完成时间: 2020-10-25 15:25:03
开始点击时间: 2020-10-25 15:25:14
结束点击时间: 2020-10-25 15:25:36
从打开app到结束点击用了43秒的时间,这还是我测试中时间较短的一次,有时候这个操作需要50多秒的时间。这其中从开始点击到结束点击竟然需要22秒时间,真是相当的慢,不知道appium啥时能优化下。
我改写了部分代码,用坐标点击来测试下:
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.tap([(567, 489)])
print("点击完淘金币时间:",time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
输出:
开始打开app的时间: 2020-10-25 15:56:42
点击完淘金币时间: 2020-10-25 15:56:59
可以看到总耗时由43秒降到了17秒,速度快了一倍多,效果还是挺明显。
总结:在用appium手机测试的时候,对于一些固定位置的操作,可以直接点击坐标来加快速度。