本文共 2259 字,大约阅读时间需要 7 分钟。
# -*- coding: utf-8 -*-from appium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECdesired_capabilities = { "platformName": "Android", "deviceName": "127.0.0.1:62001", "platformVersion": "7.1.2", "appPackage": "com.jingdong.app.mall", "appActivity": ".main.MainActivity" } driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_capabilities) driver.implicitly_wait(10) # 点击同意 driver.find_element_by_id('com.jingdong.app.mall:id/bqd').click() time.sleep(5) # 返回 driver.back() text = '再次返回退出京东' # -*- coding: utf-8 -*-from appium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECdef is_toast_exist(driver, text, timeout=30, interval=0.5): """ :param driver: 驱动 :param text: toast文案 :param timeout: 超时时长,单位s :param interval: 刷新间隔时长,单位s :return: True/False """ try: toast_loc = ("xpath", f".//*[contains(@text,'{text}')]") WebDriverWait(driver, timeout, interval).until(EC.presence_of_element_located(toast_loc)) return True except Exception as e: print(e) return False if __name__ == '__main__': driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_capabilities) driver.implicitly_wait(10) # 等待Activity flag = driver.wait_activity('.main.MainActivity', 10) print(flag) # 点击同意 driver.find_element_by_id('com.jingdong.app.mall:id/bqd').click() time.sleep(5) # 返回 driver.back() text = '再次返回退出京东' if is_toast_exist(driver, text): toast_text = driver.find_element_by_xpath(f"//*[contains(@text,'{text}')]").text print("toast_text:", toast_text) else: print('未定位到toast') 以上代码展示了如何通过Appium框架对toast进行定位和判断操作。通过封装函数的方式,可以更方便地在测试用例中使用,减少代码的复杂度。
转载地址:http://eyle.baihongyu.com/