使用Selenium + TestNG + Maven.
我想使用OWASP ZAP自动测试漏洞.为此,我需要在所有测试之前启动ZAProxyScanner - 在所有测试之前执行方法.
public void initZap(){
zapScanner = new ZAProxyScanner(ZAP_PROXYHOST,ZAP_PROXYPORT,ZAP_APIKEY);
zapScanner.clear(); //Start a new session
zapSpider = (Spider)zapScanner;
}
Run Code Online (Sandbox Code Playgroud)
并且当执行所有功能测试时 - 运行测试以搜索漏洞
@Test
public void scanning() throws ClientApiException{
spiderWithZap();
setAlertAndAttackStrength();
zapScanner.setEnablePassiveScan(true);
scanWithZap();
}
Run Code Online (Sandbox Code Playgroud)
方法和测试位于一个类中,例如 public class TestSecurity
以下是包含功能测试的包的testng.xml示例
<suite name="Chrome" thread-count="1" parallel="tests" configfailurepolicy="continue">
<test name="chrome">
<parameter name="browser" value="chrome"/>
<packages>
<package name="tests.suiteLogIn"></package>
<package name="tests.suiteSettings"></package>
<package name="tests.suiteSearch"></package>
</packages>
</test>
Run Code Online (Sandbox Code Playgroud)
UPD.在其中发布带有AfterTest的修改代码.我只使用Before/AfterMethod注释
@BeforeMethod(alwaysRun=true)
@Parameters({"browser", "environment"})
public void setUp(@Optional ("firefox") String browser, @Optional ("local") String environment, Method method) throws …Run Code Online (Sandbox Code Playgroud)