自动评分:评分规则和执行引擎
- 每个示例的 checks.yaml:书上评价表的功能项转成操作步骤和期望结果(10 个示例共 23 项) - 引擎:编译一次,每项在沙箱里单独启动一次程序,按控件名操作、调节实训台、核对结果; 提示框自动点第一个按钮;全站同时最多跑 2 项 - 不通过时写明期望和实际,如"期望6 秒内 txt_even 的文字包含"发现入侵",实际是"正常""; 找不到书上规定的控件名时直接指出 - 规则写错时指出第几项第几步 - 测试:参考答案全部通过;编译错误、控件改名、判断写反、忘停定时器、接错 DO 口各自报出对应原因 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5bb2940969
commit
37fc747b49
16 files changed
+824
No files matched your search
@@ -0,0 +1,26 @@
|
||||
# 评分规则:书上评价表的功能项。每项单独启动一次程序,按步骤操作,核对结果。
|
||||
# 格式说明见 server/src/grading/checks.ts
|
||||
- title: 按钮能打开串口、开启定时器,更改按钮文字
|
||||
steps:
|
||||
- select: { control: com_port, item: COM3 }
|
||||
- click: btn_open
|
||||
- expect: { control: btn_open, text: 关闭, desc: 按钮文字变成"关闭" }
|
||||
- expect: { control: txt_time, matches: '\d{1,2}:\d{2}', within: 6s, desc: 显示当前时间 }
|
||||
|
||||
- title: 能实时显示入侵数据
|
||||
steps:
|
||||
- select: { control: com_port, item: COM3 }
|
||||
- click: btn_open
|
||||
- board: { infrared: true }
|
||||
- expect: { control: txt_even, contains: 发现入侵, within: 6s }
|
||||
- board: { infrared: false }
|
||||
- expect: { control: txt_even, contains: 正常, within: 6s }
|
||||
|
||||
- title: 再点按钮能关闭串口、停止定时器
|
||||
steps:
|
||||
- select: { control: com_port, item: COM3 }
|
||||
- click: btn_open
|
||||
- expect: { control: txt_time, matches: '\d{1,2}:\d{2}', within: 6s, desc: 显示当前时间 }
|
||||
- click: btn_open
|
||||
- expect: { control: btn_open, text: 开启, desc: 按钮文字变回"开启" }
|
||||
- expect: { control: txt_time, unchanged: 6s, desc: 不再更新时间(定时器应已停止) }
|
||||
Reference in new issue
Block a user