tmp

Posted by UUQ on 2024-03-29
Estimated Reading Time 3 Minutes
Words 719 In Total
Viewed Times

对于cxc评测机的自动测试脚本

(DPO OJ的朋友们看到别打我)

上传好后直接F12,控制台复制粘贴然后回车,等待评测即可。(建议关闭控制台Error报错,方便查看log输出的测试结果)

1
setInterval(function(){if($("button.css-dev-only-do-not-override-1ae8k9u")[2].classList.contains("ant-btn-primary")){$("button.css-dev-only-do-not-override-1ae8k9u")[2].click()}},5000)

效果图如下(console)

image-20240329153654249

V1.1 版本更新

note: 支持了错误停止的判断(为了方便chrome使用我压成了一行)

1
let n = $("button").length;var bts = $("button");var btn;for(i=0;i<n;i++){if(bts[i].style['background-color']=="green"){btn = bts[i];break;}}var t=0;btn.click();const itv = setInterval(function(){if(btn.classList.contains("ant-btn-primary")){if($("tr")[1].classList.contains("ant-table-row")){alert("Wrong! Passed: "+t+"groups");clearInterval(itv);}else{t++;console.log("pass test"+t);btn.click();}}},5000);

未压行版本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
let n = $("button").length;
var bts = $("button");
var btn;
for(i=0;i<n;i++){
if(bts[i].style['background-color']=="green"){
btn = bts[i];
break;
}
}
var t=0;
btn.click(); //找到绿色按钮(submit)并第一次提交刷新之前报错信息
const itv = setInterval(function(){
if(btn.classList.contains("ant-btn-primary")){
if($("tr")[1].classList.contains("ant-table-row")){
alert("Wrong! Passed: "+t+"groups"); // 不再是ant-table-placeholder,说明有错误,弹窗并阻塞
clearInterval(itv); // 停止提交
}else{
t++;
console.log("pass test"+t);
btn.click(); // 正常,继续测试
}
}
},5000);

记录wa但继续

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
let n = $("button").length;
var bts = $("button");
var btn;
for(i=0;i<n;i++){
if(bts[i].style['background-color']=="green"){
btn = bts[i];break;
}
}
var t=0;
var wa=0;
btn.click();
const itv = setInterval(function(){
if(!btn.classList.contains("ant-btn-loading")){
if($("tr")[1].classList.contains("ant-table-row")){
wa++;
}else{
t++;
console.log("pass test"+t+", failed "+wa);
btn.click();
}
}
},5000);

V1.2 版本更新

由于DPO经常出现submit按钮在评测结束前就意外激活的问题,以及可能出现unexpected TLE,特更新脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
let n = $("button").length;
var bts = $("button");
var btn;
for (i = 0; i < n; i++) {
if (bts[i].style['background-color'] == "green") {
btn = bts[i];
break;
}
}
var t = 0;
btn.click(); //找到绿色按钮(submit)并第一次提交刷新之前报错信息
const itv = setInterval(function () {
if (btn.classList.contains("ant-btn-primary")) {
$.post("/update", function (data, status) {
//console.log(data);
if (data.running == "0") {

if ($("tr")[1].classList.contains("ant-table-row") && (parseInt(data.AC) + parseInt(data.TLE) != 20)) {
alert("Wrong! Passed: " + t + "groups"); // 不再是ant-table-placeholder,说明有错误,弹窗并阻塞
clearInterval(itv); // 停止提交
} else {
t++;
console.log("pass test" + t);
btn.click(); // 正常,继续测试
}

}
});
}
}, 5000);

如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !