Привет У меня есть сценарий селена, который запускается и должен давать мне журналы производительности.
У меня есть метод printLog, который должен (очевидно) печатать журналы производительности. Мой код сможет подробно объяснить, что именно я пытаюсь сделать.
static void printLog(String type, RemoteWebDriver driver, String inputURL) {
ChromeOptions cap = new ChromeOptions();
LoggingPreferences logP = new LoggingPreferences();
logP.enable(LogType.PERFORMANCE, Level.ALL);
cap.setCapability(CapabilityType.LOGGING_PREFS, logP);
List<LogEntry> entries = driver.manage().logs().get(type).getAll();
System.out.println("\"Input URL\"," + "\"" + inputURL + "\"");
for (LogEntry entry : entries) {
// Checks whether this is a webtrends tag and whether it was accepted by the
// server
if (entry.getMessage().contains("statse") && entry.getMessage().contains("Network.responseReceived")) {
String statseString = entry.getMessage();
// regex for finding all wt tags: WT\..+?(?=&)
// List<String> allMatches = new ArrayList<String>();
// Matcher m = Pattern.compile("WT\\..+?(?=&)")
// .matcher(statseString);
// while (m.find()) {
// allMatches.add(m.group());
// }
int statseBegin = statseString.indexOf("\"url\":\"") + 1;
int statseEnd = statseString.indexOf("\"},\"", statseBegin);
statseString = statseString.substring(statseBegin, statseEnd);
String[] allMatches = statseString.split("&");
for (String tags : allMatches) {
tags = tags.replaceFirst("=", "ReallyLongUniqueStringWithNoChanceOfOverlap");
String tagParts[] = tags.split("ReallyLongUniqueStringWithNoChanceOfOverlap");
if (tagParts.length > 1) {
System.out.println("\"" + tagParts[0] + "\",\"" + tagParts[1] + "\"");
} else {
System.out.println("\"" + tagParts[0] + ",\"\"");
}
}
}
}
}
Когда я запускаю код, открывается Chrome, и я получаю в стеке следующую трассировку стека:
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown
error: log type 'performance' not found
(Session info: chrome=69.0.3497.92)
(Driver info: chromedriver=2.42.591088
(7b2b2dca23cca0862f674758c9a3933e685c27d5),platform=Windows NT 10.0.16299
x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-
08T15:15:03.216Z'
System info: host: 'WKSP0009ADAD', ip: '172.17.237.35', os.name: 'Windows
10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_191'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false,
applicationCacheEnabled: false, browserConnectionEnabled: false,
browserName: chrome, chrome: {chromedriverVersion: 2.42.591088
(7b2b2dca23cca0..., userDataDir: C:\Users\BPJ0sGW\AppData\Lo...},
cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions:
{debuggerAddress: localhost:50809}, handlesAlerts: true, hasTouchScreen:
false, javascriptEnabled: true, locationContextEnabled: true,
mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled:
false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable:
false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true,
unexpectedAlertBehaviour: , unhandledPromptBehavior: , version:
69.0.3497.92, webStorageEnabled: true, webdriver.remote.sessionid:
f50e54d130a8c7e3b3a9cb6984f...}
Session ID: f50e54d130a8c7e3b3a9cb6984fcb558
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcc
essorImpl.java:62)
atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstr
uctorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
atorg.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:
atorg.openqa.selenium.remote.RemoteLogs.getRemoteEntries(RemoteLogs.java:81)
at org.openqa.selenium.remote.RemoteLogs.get(RemoteLogs.java:77)
at demoJenkins.WebTrendsCapture.printLog(WebTrendsCapture.java:141)
at demoJenkins.WebTrendsCapture.main(WebTrendsCapture.java:114)
Я могу предоставить более подробную информацию по запросу, но в основном я просто пытаюсь выяснить, почему этот метод возвращает эту ошибку. Спасибо.