评论

AI自定义测试--skill能力详细说明

本文详细介绍了小程序云测的skill使用方法,并以实际案例说明大模型调用skill的流程,方便云测其他用户参考

在 小程序云测 的 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     # 相关技能文件

 

详细说明:

  1. 要在case的根目录下,建立minitest_skills文件夹(注意名字必须是minitest_skills,不能修改!!!)
  2. 在minitest_skills文件夹下以及同层目录,都必须要包含__init__.py这个空文件,表示这是一个python的包(不明白的请自行搜索下python语法)
  3. 在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),扫码加入云测用户群,联系群主反馈


最后一次编辑于  03-11  
点赞 0
收藏
评论
登录 后发表内容