![](/img/trans.png)
[英]Unable to upload a file to the "browse" button using sendKeys() in Selenium Java
[英]File upload selenium using sendKeys
我的情況是我正在自動化測試文件上傳功能。 現在,自動化ci在另一台機器/盒子上工作,並且在另一台機器上打開瀏覽器以進行自動化測試。 我可以在jar中打包(添加要上傳的測試輸入文件)。 但是,如上所述,該jar位於另一台計算機中,而瀏覽器位於另一台計算機中。 由於瀏覽器機器不是固定的,而是在自動化運行時獲取的,因此如何在運行瀏覽器的機器上獲取需要上傳的輸入文件。
從jar提取文件后,我嘗試復制文件,但是顯然文件沒有從上載位置的瀏覽器中復制。
甚至有可能在瀏覽器機器上提供該文件嗎?
您可以做的一件事是將上傳文件放入一個共享文件夾,該文件夾可以從所有運行的計算機訪問。 並從共享文件夾中指定文件位置。 您可以將sendKeys命令提供給上載字段,如下所示
upload_textfield.sendKeys("\\shared_Folder\upload.txt")
靜態WebDriver驅動程序; 公共靜態void main(String [] args)拋出InterruptedException,FindFailed {
System.setProperty("webdriver.gecko.driver", "E:\\doftware\\geckodriver-v0.10.0-win64\\geckodriver.exe");
driver =new FirefoxDriver();
driver.get("https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1");
driver.findElement(By.id("Email")).sendKeys("emailaddress");
driver.findElement(By.id("next")).click();
Thread.sleep(500);
driver.findElement(By.id("Passwd")).sendKeys("Password");
driver.findElement(By.id("signIn")).click();
Thread.sleep(5000);
driver.findElement(By.xpath("//div[@class='T-I J-J5-Ji T-I-KE L3']")).click();
Thread.sleep(500);
driver.findElement(By.xpath("//div[@class='a1 aaA aMZ']")).click();
org.sikuli.script.Pattern open= new org.sikuli.script.Pattern("C:\\Users\\narendra\\Desktop\\test\\filename.PNG");
org.sikuli.script.Pattern open1= new org.sikuli.script.Pattern("C:\\Users\\narendra\\Desktop\\test\\open.PNG");
org.sikuli.script.Screen scr= new org.sikuli.script.Screen();
scr.setAutoWaitTimeout(30);
scr.type(open, "C:\\Users\\narendra\\Desktop\\test\\searchButton");
scr.click(open1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.