gpt4 book ai didi

java - 在 Selenium Grid 上执行测试时,无论操作系统如何(Windows 或 Unix),如何从项目文件夹上传文件

转载 作者:行者123 更新时间:2023-12-01 09:06:28 26 4
gpt4 key购买 nike

我编写了一个测试(Selenium WebDriver with java),其中我必须从操作系统文件资源管理器(上传窗口)上传文件。

我用过

String path =System.getProperty("user.dir")+ File.separator +"TestDoc"+File.separator+"File.pdf"; 

它可以在我的本地(Windows 计算机)上运行,但当我尝试使用 Jenkins 在 AWS 服务器上运行时出现错误。

error: NullPointerException.

调试后我看到的是它获取了我的本地计算机文件夹地址(C:\Users\...\...\TestDoc\File.pdf)

是否有其他方法可以从项目文件夹上传文件,并使用该特定计算机的文件夹地址?

最佳答案

如果您在网格上运行测试,并且文件的位置位于不同操作系统的远程计算机上,并且测试在不同操作系统的计算机上执行,那么您应该让远程驱动程序知道需要上传的文件驻留在本地计算机上而不是远程计算机上。

    String path =System.getProperty("user.dir")+ File.separator +"FolderName"+File.separator+"File.pdf";
WebElement El = driver.findElement(By.id("'fileUploadField'"));
RemoteWebElement ele=(RemoteWebElement) ((RemoteWebDriver)baseSeleniumTest.driver).switchTo().activeElement();
ele.setFileDetector(new LocalFileDetector());
ele.sendKeys(path);

关于java - 在 Selenium Grid 上执行测试时,无论操作系统如何(Windows 或 Unix),如何从项目文件夹上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41230403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com