为第一个窗体的三个按钮编写相应代码如下:
private void ResScan_Btn_Click(object sender, EventArgs e)
{
if (_appScan.Scan.Status.ExploreOpStatus == ExploreStatus.Finished)
{
return;
}
_appScan.Scan.ResetExploreAndTestData();
_appScan.Scan.ScanAsync(true, false);
}
private void ResTst_Btn_Click(object sender, EventArgs e)
{
_appScan.Scan.ScanAsync(false, true);
ResTst_Btn.Enabled = false;
}
private void ShowResult_Btn_Click(object sender, EventArgs e)
{
ResultForm resultform = new ResultForm(_appScan);
resultform.Show();
}
|
ResScan_Btn_Click():Resource Scan 响应代码,这部分代码判断 AppScan 的资源扫描是否已经结束,如果没有结束则运行异步扫描。ResTst_Btn_Click():异步测试,在测试运行后将“Resource Test”按钮置成不可用状态。- ShowResult_Btn_Click():打开结果显示表单。
在上面的代码实现中,方法 ResTst_Btn_Click() 在执行中将按钮置成为不可用状态,需要在测试结束后再次将按钮激活,这就需要利用 AppScan 的事件。AppScan 定义了近四十种事件,来支持 AppScan 扩展能够对 AppScan 的处理做出相应,比如下面几种:
ExploreEnded:当一次对目标网站资源扫描结束时发出。ExploreStarting:当一次对目标网站资源扫描结束时发出 .Login:当 AppScan 需要用户手工登录到目标网站时发出SaveEnded:保存操作结束时发出SaveProgress:保存操作在报告进度时发出TestEnded:对目标网站进行测试时发出TestStarting:对目标网站的测试开始时发出 .
这里使用了 TestEnded 事件,表示当安全测试结束时,重新激活“Resource Test”按钮。在按钮窗体的构造函数中加入如下代码:
_appScan.Scan.TestEnded += new EventHandler<Watchfire.AppScan.Scan.Events.TestEndedEventArgs>(testEnded); |
上面代码中的 testEnded 方法负责激活按钮。
文章来源于领测软件测试网 https://www.ltesting.net/










