智能体测开Day37

发布时间:2026/7/29 20:18:22
智能体测开Day37 test_xiaomi自动化测试import pytest from appium import webdriver from appium.options.android import UiAutomator2Options from selenium.webdriver import ActionChains from selenium.webdriver.common.actions import interaction from selenium.webdriver.common.actions.action_builder import ActionBuilder from selenium.webdriver.common.actions.pointer_input import PointerInput def get_driver(): server_url http://localhost:4723 capabilities {appium:platformName: Android, appium:platformVersion: 9, appium:automationName: uiautomator2, appium:deviceName: 127.0.0.1:62001, appium:appPackage: com.miui.calculator, appium:appActivity: com.miui.calculator.cal.CalculatorActivity, } capabilities_options UiAutomator2Options().load_capabilities(capabilities) driver webdriver.Remote(command_executorserver_url, optionscapabilities_options) return driver # 前置打开appium 后置关闭appium pytest.fixture(scopesession) def my_service(): # 连接设备并且获取驱动 d get_driver() yield d # 关闭 d.quit() def long_press(driver,x,y): actions ActionChains(driver) actions.w3c_actions ActionBuilder(driver, mousePointerInput(interaction.POINTER_TOUCH, touch)) actions.w3c_actions.pointer_action.move_to_location(x, y) actions.w3c_actions.pointer_action.pointer_down() actions.w3c_actions.pointer_action.pause(0.1) actions.w3c_actions.pointer_action.release() actions.perform() def test_001(my_service): driver my_service # 点击我同意 driver.find_element(id,android:id/button1).click() # 长按空白 long_press(driver,365,486) # 点击12 driver.find_element(id,com.miui.calculator:id/digit_1).click() driver.find_element(id,com.miui.calculator:id/op_add).click() driver.find_element(id,com.miui.calculator:id/digit_2).click() driver.find_element(id,com.miui.calculator:id/btn_equal_s).click() # 长按 long_press(driver, 365, 486) # 获取文本信息 r driver.find_element(id,com.miui.calculator:id/result).text # 3 # 校验 assert r.split()[1].strip() 3 def test_002(): passtest_xiaomi测试安装卸载import subprocess import time import pytest from appium import webdriver from appium.options.android import UiAutomator2Options from appium.webdriver.appium_service import AppiumService from selenium.webdriver import ActionChains from selenium.webdriver.common.actions import interaction from selenium.webdriver.common.actions.action_builder import ActionBuilder from selenium.webdriver.common.actions.pointer_input import PointerInput app_packagecom.miui.calculator def get_driver(): #测试app的安装卸载所以连接手机时采用一个手机肯定存在的app进行连接 server_url http://localhost:4723 capabilities {appium:platformName: Android, appium:platformVersion: 7.1.2, appium:automationName: uiautomator2, appium:deviceName: 127.0.0.1:62001, appium:appPackage: com.android.settings, appium:appActivity: .Settings, } capabilities_options UiAutomator2Options().load_capabilities(capabilities) driver webdriver.Remote(command_executorserver_url, optionscapabilities_options) # 使用adb命令关闭设置app # adbstradb shell am force-stop com.android.settings subprocess.run([adb,shell,am,force-stop,com.android.settings]) return driver # 前置打开appium 后置关闭appium pytest.fixture(scopesession) def my_service(): # 打开appium服务 service AppiumService() service.start() print(启动appium服务) # 连接设备并且获取驱动 d get_driver() yield d #关闭 service.stop() print(关闭服务) def test_001(my_service): driver my_service # 判断设备是否有小米app,有先进行卸载 is_install driver.is_app_installed(app_package) if is_install: driver.remove_app(app_package) time.sleep(2) print(卸载小米app成功) # 安装app driver.install_app(d:\\apks\\xiaomicalc.apk) #判断是否安装成功没有安装成功等待1s while True: is_install driver.is_app_installed(app_package) if is_install: print(安装app成功) break else: time.sleep(1) # 启动app subprocess.run(fadb shell am start {app_package}/.cal.CalculatorActivity.split( )) print(启动app) time.sleep(2) # 在后台启动app print(后台启动app) driver.background_app(2) # 关闭app subprocess.run(fadb shell am force-stop {app_package}.split( )) print(关闭app) # 卸载app driver.remove_app(app_package) print(卸载app成功)