appium控制手机一直从下往上滑动

import unittest from time import sleep from appium import webdriver from appium.options.android import UiAutomator2Options from appium.webdriver.common.appiumby import AppiumBy from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.action_chains import ActionChains class TestScrollSettings(unittest.TestCase): """ 测试滚动设置的类。 该类包含了在Android设备上通过Appium测试框架对设置应用进行滚动测试的方法。 """ def setUp(self): """ 测试前的准备工作。 初始化Appium驱动,设置Android设备的自动化测试选项,包括平台名称、自动化工具名称、设备名称、应用包名、应用活动、语言和地区等。 """ options = UiAutomator2Options() capabilities = dict( platformName='Android', automationName='uiautomator2', deviceName='Android', appPackage='com.android.settings', appActivity='.Settings', language='en', locale='US' ) for key, value in capabilities.items(): options.set_capability(key, value) self.driver = webdriver.Remote('http://localhost:4723', options=options) def tearDown(self): """ 测试结束后的清理工作。 关闭Appium驱动。 """ self.driver.quit() def test_scroll_settings(self): """ 测试滚动设置的功能。 通过WebDriverWait和ActionChains不断尝试滚动设置界面向前,直到出现异常或达到预期结果。 """ wait = WebDriverWait(self.driver, 10) actions = ActionChains(self.driver) while True: try: # 使用Expected Condition等待元素出现,然后执行滚动动作 element = wait.until(EC.presence_of_element_located((AppiumBy.ANDROID_UIAUTOMATOR, 'new UiScrollable(new UiSelector().scrollable(true)).scrollForward()'))) actions.move_to_element(element).perform() sleep(5) # 暂停5秒,以便观察滚动效果 except Exception as e: print(e) break if __name__ == '__main__': suite = unittest.TestLoader().loadTestsFromTestCase(TestScrollSettings) unittest.TextTestRunner(verbosity=2).run(suite)
上一篇:数据库-操作-向navicat中导入数据库


下一篇:“栈”顶到底是高地址还是低地址?