2 回答

TA貢獻1842條經驗 獲得超13個贊
因為RemoteWebDriver你必須設置文件檢測器driver.setFileDetector(new LocalFileDetector());。你的代碼:
public static void uploadSampleImage(StaticSeleniumDriver driver)
{
driver.setFileDetector(new LocalFileDetector());
File file = new File(System.getProperty("user.dir") + "/resources/images/" + SAMPLE_DOCUMENT_FILE_NAME);
Utils.Log("file exists: " + file.exists());
String imagePath = file.getAbsolutePath();
WebElement input = driver.findElement(By.name("file"));
input.sendKeys(imagePath);
}

TA貢獻1827條經驗 獲得超8個贊
而不是在路徑字符串中使用“/”,您可以使用File.separator
which 在引擎蓋下自動處理操作系統級別的文件分隔符。使用它,您的代碼變得獨立于任何操作系統,它讓 Java 負責根據操作系統使用什么分隔符,而不用擔心它。
所以第一行代碼變成了:
new File(System.getProperty("user.dir") + File.separator + "resources" + File.separator + "images" + File.separator + SAMPLE_DOCUMENT_FILE_NAME);
其余部分保持不變。
!!沒有額外的頭痛。??
添加回答
舉報