I am having an issue uploading a file using Seleinum code when running on Jenkins. My Selenium code is working fine locally and is able to uploads and finishes the test. However, when running on Jenkins, the WebElement.SendKeys(..) is throwing exception that says :org.openqa.selenium.InvalidArgumentException: invalid argument: File not found ". I initiated a new File(..) in the code and tested the file existence by file.exists() and it does exist.
driver.get(Configuration.getEnvArg("test_url")+"mylist/doc-upload");
String userDir = System.getProperty("user.dir");
String appendPath = File.separator + "src" + File.separator + "main" + File.separator + "resources" + File.separator + "files" + File.separator + fileName + "." + fileExt;
File file = new File(path);
LOGGER.info(path + " is exist: " + file.exists());
LOGGER.info("absolute path: " + file.getAbsolutePath());
WebElement el = driver.findElement(By.id(submitId));
el.sendKeys(file.getAbsolutePath()); // exception is thrown at this point.
pause(20);
(I replaced part of the path with xxx for posting purpose.)
invalid argument: File not found : /tmp/jenkins/workspace/xxxx/regression-tests/src/main/resources/files/dummy.png
20:49:30 (Session info: chrome=77.0.3865.75)
20:49:30 Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
20:49:30 System info: host: 'Unknown', ip: 'Unknown', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-1095-aws', java.version: '1.8.0_181'
20:49:30 Driver info: org.openqa.selenium.remote.RemoteWebDriver
20:49:30 Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 77.0.3865.75, chrome: {chromedriverVersion: 77.0.3865.40 (f484704e052e0..., userDataDir: /tmp/.com.google.Chrome.WI0TqR}, goog:chromeOptions: {debuggerAddress: localhost:46837}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
20:49:30 Session ID: 8c8f0738dbd321b5fb7ccb6a46adadf817b61366f1a9b4054586695693c69e5d
20:49:30 - com.qaprosoft.zafira.log.domain.MetaInfoMessage@236ded2c
20:49:30 - com.qaprosoft.zafira.log.domain.MetaInfoMessage@874bd76
20:49:30 - error processing. Falling back to alternate logic.
20:49:30 org.openqa.selenium.InvalidArgumentException: invalid argument: File not found : /tmp/jenkins/workspace/xxxx/regression-tests/src/main/resources/files/dummy.png
20:49:30 (Session info: chrome=77.0.3865.75)
20:49:30 Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
20:49:30 System info: host: 'Unknown', ip: 'Unknown', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-1095-aws', java.version: '1.8.0_181'
20:49:30 Driver info: org.openqa.selenium.remote.RemoteWebDriver
20:49:30 Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 77.0.3865.75, chrome: {chromedriverVersion: 77.0.3865.40 (f484704e052e0..., userDataDir: /tmp/.com.google.Chrome.WI0TqR}, goog:chromeOptions: {debuggerAddress: localhost:46837}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
20:49:30 Session ID: 8c8f0738dbd321b5fb7ccb6a46adadf817b61366f1a9b4054586695693c69e5d
20:49:30 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
20:49:30 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
20:49:30 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
20:49:30 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
20:49:30 at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
20:49:30 at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
20:49:30 at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
20:49:30 at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
20:49:30 at com.qaprosoft.carina.core.foundation.webdriver.listener.EventFiringSeleniumCommandExecutor.execute(EventFiringSeleniumCommandExecutor.java:49)
20:49:30 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
20:49:30 at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
20:49:30 at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:106)
20:49:30 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
20:49:30 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
20:49:30 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
20:49:30 at java.lang.reflect.Method.invoke(Method.java:498)
20:49:30 at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.lambda$new$0(EventFiringWebDriver.java:404)
20:49:30 at com.sun.proxy.$Proxy43.sendKeys(Unknown Source)
20:49:30 at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.sendKeys(EventFiringWebDriver.java:429)
Any advise is appreciated.
Thank you, Grace
Aucun commentaire:
Enregistrer un commentaire