2 回答

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
因?yàn)镽emoteWebDriver你必須設(shè)置文件檢測(cè)器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貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
而不是在路徑字符串中使用“/”,您可以使用File.separator
which 在引擎蓋下自動(dòng)處理操作系統(tǒng)級(jí)別的文件分隔符。使用它,您的代碼變得獨(dú)立于任何操作系統(tǒng),它讓 Java 負(fù)責(zé)根據(jù)操作系統(tǒng)使用什么分隔符,而不用擔(dān)心它。
所以第一行代碼變成了:
new File(System.getProperty("user.dir") + File.separator + "resources" + File.separator + "images" + File.separator + SAMPLE_DOCUMENT_FILE_NAME);
其余部分保持不變。
!!沒(méi)有額外的頭痛。??
添加回答
舉報(bào)