ファイルをアップロードしようとしているアプリケーションがあります。 Robotクラスを使用してファイルのアップロードを行っています。アップロードするファイルは正常に選択されており、[ファイルの追加]ボタンをクリックしてアップロードする必要があります。アプリケーションには、同様のファイルアップロード機能があり、ファイルが正常にアップロードされる他の領域があります。 1つの特定の領域で、ファイルの追加ボタンをクリックした後、UIにエラーが発生しました。「ファイルのアップロード中に技術的なエラーが発生しました。私はさまざまなリソースを読んで、Thread.sleepを使って明示的にwait.until(期待される条件)を試してみましたが、何も動かないようです。ここにしばらく詰まっている。アプリケーションの他の領域の同じコードがファイルを正常にアップロードします。このコードはデバッグモードで正常に動作しますが、実行時に "ファイルの追加"ボタンをクリックしますが、実際にファイルをアップロードすることはできません。コードスニペットのスナップショット:あなたのDOMは 「入力タイプ= 『ファイル』」のようなものである場合Selenium WebDriver- Java - ファイルの追加ボタンをクリックしてファイルをアップロードするとファイルのアップロードに失敗します。
はtry{
System.out.println(filePath);
File file = new File(filePath);
System.out.println(file.getAbsolutePath());
StringSelection ss = new StringSelection(file.getAbsolutePath());
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
Robot robot = null;
robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.delay(3000);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}
catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
bStatus=Wait.waitForElementVisibility(By.xpath(Locators.Campaings.FilesTab.completeFileLoadXpath), 90);
if(!bStatus) return bStatus;
//add files
WebDriverWait wait = new WebDriverWait(driver, 10000);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(Locators.Campaings.TaskTab.taskDetailsUploadFilesBtnXpath)));
bStatus=Elements.clickElement(By.xpath(Locators.Campaings.TaskTab.taskDetailsUploadFilesBtnXpath));
if(bStatus)
{
Thread.sleep(20000);
}
//WebDriverWait wait = new WebDriverWait(driver,10);
//wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.xpath(Locators.HomePage.MainHeader.MenuLinks.img_Loading_Grid))));
//bStatus = Wait.waitForElementVisibility(By.xpath(".//*[@id='edit- task-details-modal']//tr//td[1]"), 60);
//if(!bStatus) return bStatus;
//TimeUnit.SECONDS.sleep(60);
//bStatus=Wait.waitForNoWebElement(By.xpath(Locators.HomePage.MainHeader.MenuLinks.img_Loading_Grid),60);
//if(!bStatus) return bStatus;
String actual_Message=Elements.getText(By.id(Locators.Campaings.TaskTab.taskDetailsFileUploadSuccessMessageId));