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手机测试的时候,对于一些固定位置的操作,可以直接点击坐标来加快速度。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐