uiautomator2自动化测试,怎么提高,缩短任务时间

问题遇到的现象和发生背景

运行任务没问题,测试效果不好,这是测试对象m.996box.com

问题相关代码,请勿粘贴截图

import datetime
import time

import uiautomator2 as u2
d = u2.connect('')

d(text="996传奇盒子").click()
d.implicitly_wait(5.5)
d(resourceId="com.xqhy.legendbox:id/iv_search").click()
d.send_keys("百战传奇", clear=True)
d(resourceId="com.xqhy.legendbox:id/tv_search_hint_word").click()
d(resourceId="com.xqhy.legendbox:id/iv_game_cover").click()
d.implicitly_wait(5.5)


def legendbox():
    try:
        d(resourceId="com.xqhy.legendbox:id/tv_transaction").click()
        d.xpath('//*[@resource-id="com.xqhy.legendbox:id/rv_transcation"]/android.view.ViewGroup[1]').click()
        d(resourceId="com.xqhy.legendbox:id/tv_commit_buy").click()
        text = d.xpath('//*[@resource-id="com.xqhy.legendbox:id/tv_transcation_name"]').get_text()
        print('抢号成功',datetime.datetime.now(), text,)

        d.xpath('//*[@resource-id="com.xqhy.legendbox:id/btn_pay"]').click()
        d.xpath('//*[@resource-id="com.android.systemui:id/back"]').click()
        d(resourceId="com.alipay.mobile.antui:id/cancel").click()
        d.xpath('//*[@resource-id="com.alipay.mobile.antui:id/ensure"]').click()
        d.xpath('//*[@resource-id="com.android.systemui:id/back"]').click()
        d.xpath('//*[@resource-id="com.android.systemui:id/back"]').click()
        d.xpath('//*[@resource-id="com.android.systemui:id/back"]').click()

    except:
        d.xpath('//*[@resource-id="com.android.systemui:id/back"]').click()
        d.xpath('//*[@resource-id="com.android.systemui:id/back"]').click()

i = 0
while True:
    print('-'*50)
    i += 1
    t1 = time.time()
    legendbox()
    t2 = time.time()
    print('执行次数:',i)
    print('运行时间:',t2-t1)
    print('-'*50)
    time.sleep(3.5)


运行结果及报错内容

优化下代码,测试效果好一点,缩短任务时间,多任务并发

建议使用appnium运行,使用全局隐式等待替换强制等待

from selenium.webdriver.support.wait import WebDriverWait

# WebDriverWait(driver, timeout):timeout-最大等待时间,默认以0.5秒的速度扫描元素
self.wait = WebDriverWait(self.driver, 30)

# 等待搜索元素
self.wait.until(expected_conditions.visibility_of_element_located((By.ID, 'key')))