簡體   English   中英

使用sendKeys上傳文件硒

[英]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&ltmpl=default&ltmplcache=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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM