SciTech-Automation-UI交互自动化: Microsoft 的 接口自动化测试 : 微信的: LLM(AI/Transformer)的自动应答系统
用LLM +Python 实现微信消息的自动应答
先上一个"Alpha"版本的,以csv关键词匹配方式描述应用的,主题逻辑.
!/usr/bin/python3
# coding: utf-8
import pandas as pd
import numpy as np
from uiautomation import windowControl,Menucontrol
from functools import partial, wraps
# read replies data
df = pd.read_csv("应答数据.csv",encoding="gb18030")
# matching answers by keywords from the last one message.
def matcher(last_msg, x):
ret = None
if x["关键词"] in last_msg:
ret = x["应答内容"]
return ret
# bind the "title" of WeChat's main window
wx = windowControl(
Name="微信",
# searchDepth=1
)
print("MainWindow: %r" % (wx,))
# bind it's session ctrl.
wx.SwitchToThiswindow()
hw = wx.ListControl(Name="会话")
print("SessionControl: %r" % (hw,))
# bind it's "Messages" ctrl.
mc=wx.ListControl(Name="消息")
while True:
# first 4 items as the "searchDepths"
we = hw.TextControl(searchDepths=4)
print("Seek unread msg.", we)
while not we.Exists(0):
pass
# if existing unread msg.
if not bool(we.Name):
continue
# click and retrive the unread msg.
we.Click(simulateMove=False)
msgs=mc.GetChildren()
last_msg = msgs[-1] # LAST ONE ONLY
print("Last One Msg.:%s" % last_msg)
# choose replies msg by keywords
filter=partial(matcher, last_msg) # #也可用"LLM/AI/Transformer"模型应答
replies = df.apply(filter, axis=1)
replies.dropna(axis=0,how="any",inplace=1)
ar = np.array(replies).tolist()
if len(ar) == 0: # keywords no replies
wx.SendKeys("没理解", waitTime=0)
wx.SendKeys('{Enter}', waitTime=0)
wx.TextControl(SubName=last_msg[:-5]).RightClick()
continue
rms=ar[0].replace('{br}','{Shift}{Enter}')
wx.SendKeys(rms, waitTime=0)
wX.SendKeys('{Enter}', waitTime=0)
UI自动化 - 微软UI Automation
--- Original: Niuery Diary
自动化测试平台的 稳定性 非常重要。
无论是接口自动化测试,还是UI自动化测试,
目的之一是为提高产品的稳定性,保证用户体验。
接口自动化测试, 常见的有 Postman, SoapUI, JMeter 等, 这一类网上的资料太多。
本篇内容主题是UI自动化测试,我搜集的常用的UI自动化测试平台:
*「Selenium」: Web应用程序的自动化测试框架,开源免费,使用非常广泛;
既支持多种语言的脚本驱动测试,也支持记录与回放的方式测试。
- 「Appium」: APP(移动应用程序)的自动化测试框架,开源免费,使用非常广泛;
支持多种语言的脚本驱动测试。 - 「Katalon Studio」: UI的自动化测试工具,适用于Web, APP和API测试, 免费。
基于Selenium和Appium,并提供GUI(图形化界面)和集成的测试功能。 - 「TestComplete」: 商业UI的自动化测试工具,适用于PC, Web, APP和API, 付费。
功能强大, 提供多种脚本语言和图形化界面,以及灵活的对象识别和回放功能。 - 「Ranorex」: 商业UI的自动化测试工具,适用于PC, Web, APP和API, 付费。
提供易于使用的录制和回放功能,支持多种编程语言。
总之,对PC应用的UI自动化测试,上述要么免费但仅支持Web应用, 要么就是商业化的。
所以有必要提到主题 --- UIAutomation。
UIAutomation
来看一看微软官方对此的介绍 UIAutomation:
Microsoft UI Automation是适用于Microsoft Windows的Accessibility Framework。
它满足了技术产品和自动化测试框架的需求,通过提供对用户界面(UI)信息的编程访问来实现。
此外,UI Automation还使控件和应用程序开发人员能够使其产品有Assistive Technology。
其它的,Google 或 Microsoft Bing就可以搜索到答案。
SciTech-Automation-UI交互自动化: Microsoft 的 接口自动化测试 : 微信的: LLM(AI/Transformer)的自动应答系统的更多相关文章
- python3+requests:接口自动化测试(二)
转载请注明出处:https://www.cnblogs.com/shapeL/p/9188495.html 前言:上篇文章python3+requests+unittest:接口自动化测试(一):ht ...
- 利用Azure Automation实现云端自动化运维(1)
Azure Automation是Azure上的一个自动化工作流引擎,基于Powershell,来帮助用户简化,集成和自动化Azure上的运维工作,例如: 实现定时开关虚拟机,节约成本 实现定时创建删 ...
- 如何记录selenium自动化测试过程中接口的调用信息
上一篇博客,我写了python自动化框架的一些知识和粗浅的看法,在上一篇中我也给自己提出一个需求:如果记录在测试过程中接口的调用情况?提出这个需求,我觉得是有意义的.你在测试过程中肯定会遇到一些莫名其 ...
- java接口自动化(一) - 接口自动化测试整体认知 - 开山篇(超详解)
简介 了解什么是接口和为什么要做接口测试.并且知道接口自动化测试应该学习哪些技术以及接口自动化测试的落地过程.其实这些基本上在python接口自动化的文章中已经详细的介绍过了,不清楚的可以过去看看.了 ...
- react UI交互 简单实例
<body><!-- React 真实 DOM 将会插入到这里 --><div id="example"></div> <!- ...
- iOS开发笔记7:Text、UI交互细节、两个动画效果等
Text主要总结UILabel.UITextField.UITextView.UIMenuController以及UIWebView/WKWebView相关的一些问题. UI细节主要总结界面交互开发中 ...
- 类似UC天气下拉和微信下拉眼睛头部弹入淡出UI交互效果(开源项目)。
Android-PullLayout是github上的一个第三方开源项目,该项目主页是:https://github.com/BlueMor/Android-PullLayout 原作者项目意图实现 ...
- firefox 扩展开发笔记(三):高级ui交互编程
firefox 扩展开发笔记(三):高级ui交互编程 前言 前两篇链接 1:firefox 扩展开发笔记(一):jpm 使用实践以及调试 2:firefox 扩展开发笔记(二):进阶开发之移动设备模拟 ...
- 使用GraphHttpClient调用Microsoft Graph接口 - PATCH
博客地址:http://blog.csdn.net/FoxDave 通过前两讲的阐述我们应该大致了解了使用GraphHttpClient调用Microsoft Graph接口的模式,并介绍了使用get ...
- 【附案例】UI交互设计不会做?设计大神带你开启动效灵感之路
随着网络技术的创新发展,如今UI交互设计应用越来越广泛,显然已经成为设计的主流及流行的必然趋势.UI界面交互设计中的动效包括移动,滑块,悬停效果,GIF动画等.UI界面交互设计为何越来越受到青睐?它有 ...
随机推荐
- Sentinel——pull模式规则持久化
目录 pull模式规则持久化 定义数据源 定义SPI接口文件 测试 pull模式规则持久化 pull 模式的数据源(如本地文件.RDBMS 等)一般是可写入的.使用时需要在客户端注册数据源:将对应的读 ...
- Nacos源码—8.Nacos升级gRPC分析三
大纲 7.服务端对服务实例进行健康检查 8.服务下线如何注销注册表和客户端等信息 9.事件驱动架构源码分析 7.服务端对服务实例进行健康检查 (1)服务端对服务实例进行健康检查的设计逻辑 (2)服务端 ...
- 使用Vite创建一个动态网页的前端项目
1. 引言 虽然现在的前端更新换代的速度很快,IDE和工具一批批的换,但是我们始终要理解一点基本的程序构建的思维,这些环境和工具都是为了帮助我们更快的发布程序.笔者还记得以前写前端代码的时候,只使用文 ...
- python实现小时划分
1.要实现图表如下图 2.后台的数据结构 说明:将每个小时按10分钟为一个时间间隔,分成6段,00.10.20.30.40.50然后将每个时间段组成如下数据:{'time': '22:30', 's ...
- K8s新手系列之探针
概述 官方文档: https://kubernetes.io/zh-cn/docs/concepts/configuration/liveness-readiness-startup-probes/ ...
- 代码随想录第三天 | 链表part01
链表理论基础 建议:了解一下链表基础,以及链表和数组的区别 文章链接:https://programmercarl.com/链表理论基础.html 不是很了解链表和数组区别的可以先看看以上的文章. 2 ...
- 【TrafficMonitor】无法显示13代intel的CPU温度
原因分析 TrafficMonitor的温度检测是利用了第三方软件LibreHardwareMonitor,并且这个问题可能与CPU有关 按照作者的指示,我们下载并启动了最新的LibreHardwar ...
- 「Log」2023.8.29 小记
序幕 早上下雨了,七点到校,还是先整理博客. 今天是生日,发条犇犇纪念一下,16 岁了! 学长进行杂题选讲,一些 KD-Tree.根号分治.生成树题,大部分是图相关,高低胡上两道. 补一些题 \(\c ...
- controller的简单介绍
介绍 Kubernetes控制器是一个主动调谐的过程,它会watch一些对象的期望状态,也会watch实际的状态,然后控制器会发送一些指令尝试让对象的当前状态往期望状态迁移. 控制器最简单的实现就是一 ...
- 用网页计数器来说明application和session
jsp的代码: 1 <body> 2 <h1>网页计数器</h1> 3 <% 4 //第一次访问数据为空 5 Object obj=application.g ...