@Timo_Kuisma1 Hi , having same problem and i just have imported the libraries, is this really working?
Here my log:
08-24-2020 11:38:59 AM Test Cases/6.UTILITY MENU/Small_TCs/Downloader
Elapsed time: 0.471s
Test Cases/6.UTILITY MENU/Small_TCs/Downloader FAILED.
Reason:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
file:/C:/Katalon-Projects/SystemWeb/Scripts/6.UTILITY%20MENU/Small_TCs/Downloader/Script1598231589642.groovy: 2: unable to resolve class org.apache.hc.client5.http.classic.methods.HttpPost
@ line 2, column 1.
import org.apache.hc.client5.http.classic.methods.HttpPost
^
file:/C:/Katalon-Projects/SystemWeb/Scripts/6.UTILITY%20MENU/Small_TCs/Downloader/Script1598231589642.groovy: 3: unable to resolve class org.apache.hc.client5.http.impl.classic.HttpClientBuilder
@ line 3, column 1.
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder
^
file:/C:/Katalon-Projects/SystemWeb/Scripts/6.UTILITY%20MENU/Small_TCs/Downloader/Script1598231589642.groovy: 4: unable to resolve class org.apache.hc.core5.http.io.entity.StringEntity
@ line 4, column 1.
import org.apache.hc.core5.http.io.entity.StringEntity
^
file:/C:/Katalon-Projects/SystemWeb/Scripts/6.UTILITY%20MENU/Small_TCs/Downloader/Script1598231589642.groovy: 1: unable to resolve class org.apache.hc.client5.http.classic.HttpClient
@ line 1, column 1.
import org.apache.hc.client5.http.classic.HttpClient
^
4 errors
at com.kms.katalon.core.main.ScriptEngine.getScript(ScriptEngine.java:199)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:339)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:330)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:309)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:301)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:235)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$_callTestCase_closure1.doCall(CallTestCaseKeyword.groovy:59)
at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$_callTestCase_closure1.call(CallTestCaseKeyword.groovy)
at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)
at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword.callTestCase(CallTestCaseKeyword.groovy:81)
at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword.execute(CallTestCaseKeyword.groovy:44)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:73)
at com.kms.katalon.core.keyword.BuiltinKeywords.callTestCase(BuiltinKeywords.groovy:334)
at Data Export Site.run(Data Export Site:24)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:339)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:330)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:309)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:301)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:235)
at com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:191)
at com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:141)
at com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:90)
at com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:157)
at com.kms.katalon.core.main.TestCaseMain$startTestSuite$0.call(Unknown Source)
at TempTestSuite1598233109922.run(TempTestSuite1598233109922.groovy:39)
Here the code:
import org.apache.hc.client5.http.classic.HttpClient
import org.apache.hc.client5.http.classic.methods.HttpPost
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder
import org.apache.hc.core5.http.io.entity.StringEntity
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.chrome.ChromeDriverService
import org.openqa.selenium.chrome.ChromeOptions
import org.openqa.selenium.remote.CapabilityType
import org.openqa.selenium.remote.DesiredCapabilities
import com.fasterxml.jackson.databind.ObjectMapper
import com.kms.katalon.core.configuration.RunConfiguration as RunConfiguration
import com.kms.katalon.core.webui.driver.DriverFactory
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable
String downloadFilepath = RunConfiguration.getProjectDir() + ‘/File1’
HashMap<String, Object> chromePreferences = new HashMap<String, Object>();
chromePreferences.put(“profile.default_content_settings.popups”, 0);
chromePreferences.put(“download.prompt_for_download”, “false”);
chromePreferences.put(“download.default_directory”, downloadFilepath);
ChromeOptions chromeOptions = new ChromeOptions();
System.setProperty(“webdriver.chrome.driver”, DriverFactory.getChromeDriverPath())
chromeOptions.addArguments(“start-maximized”);
chromeOptions.addArguments(“disable-infobars”);
//HEADLESS CHROME
chromeOptions.addArguments(“headless”);
chromeOptions.setExperimentalOption(“prefs”, chromePreferences);
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
ChromeDriverService driverService = ChromeDriverService.createDefaultService();
ChromeDriver driver = new ChromeDriver(driverService, chromeOptions);
Map<String, Object> commandParams = new HashMap<>();
commandParams.put(“cmd”, “Page.setDownloadBehavior”);
Map<String, String> params = new HashMap<>();
params.put(“behavior”, “allow”);
params.put(“downloadPath”, downloadFilepath);
commandParams.put(“params”, params);
ObjectMapper objectMapper = new ObjectMapper();
HttpClient httpClient = HttpClientBuilder.create().build();
String command = objectMapper.writeValueAsString(commandParams);
String u = driverService.getUrl().toString() + “/session/” + driver.getSessionId() + “/chromium/send_command”;
HttpPost request = new HttpPost(u);
request.addHeader(“content-type”, “application/json”);
request.setEntity(new StringEntity(command));
try {
httpClient.execute(request);
driver.get(GlobalVariable.hlink);
WebUI.delay(30)
System.out.println(“File Downloaded”);
driver.close()
} catch (IOException e2) {
e2.printStackTrace();
}
My Libraries: