在OpenAPI(Swagger)2.0中,我们可以像这样定义头参数:
paths:
/post:
post:
parameters:
- in: header
name: X-username
Run Code Online (Sandbox Code Playgroud)
但是在OpenAPI 3.0.0中,参数被请求体替换,我找不到定义头参数的方法,这将进一步用于身份验证.
在OpenAPI 3.0.0中定义请求标头的正确方法是什么?
我正在为我的 testng-selenium-java 项目使用 ExtentReports 和 ItestListener,我的侦听器为 ExtentReports 的失败测试用例截取屏幕截图,但问题是我的 testng.XML 中有多个类,并且我一次性运行它们在其他人做不同的事情并拥有自己的司机之后。
在失败的情况下,Ilistener 的代码是 -
public void onTestFailure(ITestResult iTestResult)
{
System.out.println("I am in onTestFailure method " +
getTestMethodName(iTestResult) + " failed");
//Get driver from BaseTest and assign to local webdriver variable.
Object testClass = iTestResult.getInstance();
WebDriver webDriver = ((BaseTest) testClass).getDriver();
//Take base64Screenshot screenshot.
String base64Screenshot = "data:image/png;base64,"+((TakesScreenshot)webDriver).
getScreenshotAs(OutputType.BASE64);
//Extentreports log and screenshot operations for failed tests.
ExtentTestManager.getTest().log(LogStatus.FAIL,"Test Failed",
ExtentTestManager.getTest().addBase64ScreenShot(base64Screenshot));
}
Run Code Online (Sandbox Code Playgroud)
如何确保每当测试用例失败时都会采用失败的测试用例类的驱动程序,因为在上面的代码中始终只给出一个类的驱动程序,而不是当前类的驱动程序。