在 小程序云测 的 AI自定义测试(https://developers.weixin.qq.com/miniprogram/dev/devtools/minitest/ai_plan.html) 中,已经提供了minium_func_call能力,可以在AI运行过程中,执行用户自定义函数。
但是minium_func_call能力有一个局限性:需要用户在描述中指定好使用的函数和参数。
在部分场景中,用户希望自己提供一系列的“技能”,让大模型在执行过程中,根据当前的实际场景,让大模型自己判断是否要选择执行某个技能,而不是描述中指定好,这样可以更加灵活的完成AI任务。
为了满足这个需求,小程序云测特别推出了skill能力,用户只需要描述清楚skill函数作用,相关参数,即可快速注册技能。大模型在后台会自己决策调用时机和参数。
一、建立Skill目录和文件
新建相关文件目录结果如下:
__init__.py # 必须包含
minitest_skills/ # skill 根目录
├── __init__.py # 必须包含
├── test_skill.py # 相关技能文件
详细说明:
- 要在case的根目录下,建立minitest_skills文件夹(注意名字必须是minitest_skills,不能修改!!!)
- 在minitest_skills文件夹下以及同层目录,都必须要包含__init__.py这个空文件,表示这是一个python的包(不明白的请自行搜索下python语法)
- 在minitest_skills文件夹下建立技能文件,例如test_skill.py,你也可以建立多个py文件,云测会自动扫描每个python文件下的技能
二、编写技能函数
在test_skill.py中,可以编写技能函数。示例如下:
def skill_xxx(mini_ins, param1, param2):
"""
函数介绍,需要详细说明技能的作用和适用场景。AI会根据这个描述来决策是否调用该技能
:param mini_ins: minium实例,执行时会自动传入,用户无需处理,不要修改
:param param1: 参数1说明。参数目前支持支持数字或者字符串这种简单的类型,复杂类型如list、dict不支持
:param param2: 参数2说明。参数目前支持支持数字或者字符串这种简单的类型,复杂类型如list、dict不支持
:return:
"""
mini_ins.logger.info(f"start skill_xxx {param1} {param2}")
详细说明:
1.函数名必须以skill_开头,只有skil_开头的,才会被识别为技能!
2.函数第一个参数必须是mini_ins,不要修改!mini_ins会把当前运行的minium实例传入到技能函数中,用户可以使用minium相关的函数。如log打印是mini_ins.logger.info("xxx")
3.如果技能有一些自定义的函数,可以自行在后面传入,只支持数字或者字符这种简单类型,不支持dict,list这种复杂类型!
4.每个技能必须按照示例格式写好函数注释!包括函数介绍,如果有技能相关参数,需要写清楚参数说明和含义。大模型会根据函数注释,去决策技能调用时机
下面是一个具体的技能函数示例:
def redirect_page(mini_ins, page_url):
"""
跳转到小程序的指定页面
:param mini_ins:
:param page_url: 调整页面的url,例如/pages/index/index?xx=xx&yy=yy
:return:
"""
mini_ins.logger.info(f"start redirect_page {page_url}")
mini_ins.app.relaunch(page_url)
mini_ins.page.wait_for(5)
mini_ins.capture(f"after_redirect.png")
三、将技能文件夹上传到云测
选择用例所有的文件和文件夹,然后右键压缩成zip包
然后将压缩的zip包上传到云测。方法为:
进入云测项目后,在“测试用例管理”=>“Minium用例”页面,点击上传用例按钮,选择刚才压缩的zip包,点击上传即可。
上传成功后,可以看到用例中有minitest_skills文件夹和对应的skill文件。
以上即完成了skill编写的全部过程。
四、使用Skill示例
下面简单演示下大模型如何使用skill。
1、新建AI用例
示例描述如下:
1. 跳转到小程序页面:/pages/transform/index?path=xxxx
2. llm_assert("页面可以正常显示")
2、新建AI测试计划
在“测试用例管理”=>“测试计划”中,点击“新建AI测试计划”,新建测试计划
3、 新建AI测试任务
在“自动化任务管理”=>“测试任务”中,点击“新建任务”。
在弹出的窗口中,测试类型选择“Minium”,测试计划选择刚刚创建的计划,然后提交任务
4、查看报告
在测试报告中,可以看出,大模型已经自动选择了执行技能,并正确使用,跳转到了相关页面
以上就是小程序云测使用skills能力详细过程,如果疑问,可以在小程序云测的帮助页面(https://developers.weixin.qq.com/miniprogram/dev/devtools/minitest/help.html),扫码加入云测用户群,联系群主反馈
