智能体测开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成功)

相关新闻

如何快速上手EdgeAI-YOLOv5?新手必备的安装与配置教程

如何快速上手EdgeAI-YOLOv5?新手必备的安装与配置教程

如何快速上手EdgeAI-YOLOv5?新手必备的安装与配置教程 【免费下载链接】edgeai-yolov5 This repository has been deprecated. Suggest to use edgeai-mmdetection in https://github.com/TexasInstruments/edgeai-tensorlab 项目地址: https://gitcode.com/gh_mi…

2026/10/18 17:11:50 阅读更多 →
PhotoRec终极数据恢复指南:免费开源工具如何拯救你的数字记忆

PhotoRec终极数据恢复指南:免费开源工具如何拯救你的数字记忆

PhotoRec终极数据恢复指南:免费开源工具如何拯救你的数字记忆 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk 你是否曾经因为误删重要文件而彻夜难眠?是否在硬盘崩溃后感到绝望无助&a…

2026/10/17 13:39:37 阅读更多 →
告别传统Agent开发!Mellea的Intrinsics技术如何提升AI系统稳定性

告别传统Agent开发!Mellea的Intrinsics技术如何提升AI系统稳定性

告别传统Agent开发!Mellea的Intrinsics技术如何提升AI系统稳定性 【免费下载链接】mellea Mellea is a library for writing generative programs. 项目地址: https://gitcode.com/gh_mirrors/me/mellea 在AI应用开发领域,传统Agent系统常常面临…

2026/10/18 13:15:31 阅读更多 →

最新新闻

浮点数格式化避坑指南:从toFixed到Decimal的统一精度方案

浮点数格式化避坑指南:从toFixed到Decimal的统一精度方案

我做过一个行情展示模块,图省事把金额、比例、耗时这些浮点值统统交给前端用toFixed(2)格式化,结果同一份数据在列表页、详情页、导出报表里出现了三个版本的字符串:1234567.89、1234567.890000、1234567.9。接口数据没变,问题全出…

2026/10/19 17:53:04 阅读更多 →
Rancher HA高可用部署实战:K8s集群管理面架构设计与踩坑记录

Rancher HA高可用部署实战:K8s集群管理面架构设计与踩坑记录

1. 内容整体设计与思路拆解1.1 为什么生产环境必须上高可用先说个真实教训。我见过某团队把Rancher单容器模式跑了一年多,平时看着挺稳,直到某次节点内存飙升触发OOM,Rancher容器直接挂掉,整个K8s集群的控制面瞬间"失明"…

2026/10/19 17:53:04 阅读更多 →
软考架构师选择题:韦恩图破解集合关系题

软考架构师选择题:韦恩图破解集合关系题

1. 韦恩图在软考架构师选择题中的定位:它不是画图题,是算账题提到韦恩图,很多备考系统架构设计师的朋友第一反应是高中数学课上那三个相交的圆圈。说实话,我也是在刷了近千道历年真题、被各种"扑朔迷离"的集合关系题坑过…

2026/10/19 17:53:04 阅读更多 →
Qt QImage裸RGB数据加载:内存指针直连图像显示

Qt QImage裸RGB数据加载:内存指针直连图像显示

简介:本资源是一个面向C Qt开发者的图像处理入门实践项目,聚焦于使用QImage类加载并显示原始RGB像素数据,适用于GUI图像显示、嵌入式图像预览或自定义图像格式解析等实际场景。压缩包共48个文件,包含6个核心源码文件(c…

2026/10/19 17:53:04 阅读更多 →
基于STM32的MPU6050传感器应用实战:IIC通信与姿态解算详解

基于STM32的MPU6050传感器应用实战:IIC通信与姿态解算详解

1. 项目概述与核心价值搞嵌入式这几年,传感器项目十有八九都会碰到MPU6050这颗六轴惯性传感器。它内部集成了三轴加速度计和三轴陀螺仪,还自带一个温度传感器,通过IIC接口就能把九路原始数据读出来。我之前做过一个基于STM32的平衡小车姿态检…

2026/10/19 17:53:04 阅读更多 →
PowerToys v0.97.0实测:窗口管理与快捷启动的效率指南

PowerToys v0.97.0实测:窗口管理与快捷启动的效率指南

说实话,我挺理解那些在Windows上折腾窗口管理的人。你可能跟我一样,桌面一多开几个应用,就开始在屏幕前手动拖拽,好不容易对齐了,换个显示器分辨率又全乱套。后来又去装各种窗口管理软件,要么收费&#xff…

2026/10/19 17:52:02 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →