I know that Selenium is an automated testing tool, but i'm trying to use it for RPA instead (things to do with my work environment)
I've gotten the java code down, and it runs exactly how i want it. It takes data from an excel sheet, converts the data into java objects, then enters data into a web application. It works fine for the first 20-25 entries, then starts to slow down, and eventually crashes the application. I have a few thousand rows to enter.
I've tried starting the chrome webdriver with disabled cache, but doesn't solve the problem.
Here is the code for disabling the cache.
System.setProperty("webdriver.chrome.driver","C:\\\\DRIVERS\\\\chromedriver.exe");
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability("applicationCacheEnabled", false);
WebDriver webDriver = new ChromeDriver(cap);
WebDriverWait wait = new WebDriverWait(webDriver, 20);
JavascriptExecutor js = (JavascriptExecutor) webDriver;
I'm using a for each loop to key in the data.
/* Add vehicle data */
for(VehicleData vehicleData : testDataList) {
Thread.sleep(2500);
/* Add new inspection */
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/div[2]/div/mat-tab-group/div/mat-tab-body[1]/div/div[2]/div/div/button")).click();
js.executeScript("window.scrollBy(0,-1000)");
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDateTime now = LocalDateTime.now();
String inspectionDate = dtf.format(now).toString();
Thread.sleep(5000);
webDriver.findElement(By.name("InspectionDate")).click();
webDriver.findElement(By.name("InspectionDate")).sendKeys(inspectionDate);
webDriver.findElement(By.name("InspectionDate")).sendKeys(Keys.ESCAPE);
Thread.sleep(1000);
webDriver.findElement(By.id("cmbCity")).sendKeys(vehicleData.getCityMaster());
webDriver.findElement(By.id("cmbCity")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.id("cmbCity")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.id("cmbvehicleTypeNew")).sendKeys(surveyType);
webDriver.findElement(By.id("cmbvehicleTypeNew")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.id("cmbvehicleTypeNew")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.id("cmbWheel")).sendKeys("4");
webDriver.findElement(By.id("cmbWheel")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.id("cmbWheel")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.id("maker")).sendKeys(vehicleData.getMake());
webDriver.findElement(By.id("maker")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.id("maker")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.id("model")).sendKeys(vehicleData.getModelMaster());
webDriver.findElement(By.id("model")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.id("model")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.id("cmbchassis")).click();
webDriver.findElement(By.id("cmbchassis")).sendKeys("2s-2d");
Thread.sleep(1000);
webDriver.findElement(By.id("cmbchassis")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.id("cmbchassis")).sendKeys(Keys.ENTER);
Thread.sleep(3000);
js.executeScript("window.scrollBy(0,1000)");
/* Enter Front Left Data */
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[1]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(vehicleData.getSizeFL());
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[1]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(Keys.ARROW_DOWN);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[1]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[1]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(vehicleData.getBrandFL());
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[1]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[1]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[1]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(vehicleData.getPatternFL());
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[1]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[1]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ENTER);
/* Enter Front Right Data */
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[2]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(vehicleData.getSizeFR());
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[2]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(Keys.ARROW_DOWN);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[2]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[2]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(vehicleData.getBrandFR());
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[2]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[2]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[2]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(vehicleData.getPatternFR());
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[2]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[2]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ENTER);
/* Enter Rear Left Data */
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[3]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(vehicleData.getSizeRL());
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[3]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(Keys.ARROW_DOWN);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[3]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[3]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(vehicleData.getBrandRL());
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[3]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[3]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[3]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(vehicleData.getPatternRL());
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[3]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[3]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ENTER);
/* Enter Rear Right Data */
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[4]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(vehicleData.getSizeRL());
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[4]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(Keys.ARROW_DOWN);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[4]/td[2]/div[1]/mat-form-field/div/div[1]/div/input"))).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[4]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(vehicleData.getBrandRL());
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[4]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[4]/td[2]/div[2]/div[1]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[4]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(vehicleData.getPatternRL());
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[4]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ARROW_DOWN);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[2]/form/div[10]/kendo-grid/div/table/tbody/tr[4]/td[2]/div[2]/div[2]/mat-form-field/div/div[1]/div/input")).sendKeys(Keys.ENTER);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/app-component/div/div/mat-sidenav-container/mat-sidenav-content/div[1]/div[2]/count-survey-component/count-survey-vehicle/count-survey-addedit-inspection/div[1]/span[3]/button")).click();
Thread.sleep(2500);
js.executeScript("window.scrollTo(0,0)");
Error is "Timed Out Connecting to Chrome"
Is it an issue with the chrome cache filling up? If so, must i clear it every 30 or so entries?
Thanks,
Ray