对于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)
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 (); 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 );
记录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 (); const itv = setInterval (function ( ) { if (btn.classList .contains ("ant-btn-primary" )) { $.post ("/update" , function (data, status ) { if (data.running == "0" ) { if ($("tr" )[1 ].classList .contains ("ant-table-row" ) && (parseInt (data.AC ) + parseInt (data.TLE ) != 20 )) { alert ("Wrong! Passed: " + t + "groups" ); clearInterval (itv); } else { t++; console .log ("pass test" + t); btn.click (); } } }); } }, 5000 );
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !