我工作的应用程序需要文件上传。从Eclipse运行代码时,代码工作正常。当我在Jenkins(Windows服务)中运行相同的代码时。我得到,org.openqa.selenium.WebDriverException:无效参数:找不到文件错误消息
我们必须使用Jenkins作为服务的原因是因为网络组策略,我们无法让Jenkins从命令提示符运行。
我无法修复此问题,因为我不确定在浏览器不可见的情况下会出现什么情况
以下是我们从Jenkins运行代码时剪切上传文件和错误消息。
代码:
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='textfield']")));
WebElement filePath = driver.findElement(By.xpath(".//*[@id='textfield']"));
filePath.sendKeys("\\\\XXXXXFOLDER\\data\\SHARED\\PCDEV\\STAFF\\QA_Staff\\ITL
\\FileForXXXXX\\XXX_XXXX_XXXXAPPS.txt");
Thread.sleep(5000);
//Step 8 - Verify user can click the Add File button and display the file name in the text box on the Send Files page
driver.findElement(By.xpath(".//*
[@id='wrapper']/table[2]/tbody/tr[1]/td/table[1]/tbody/tr[4]/td[2]
/input[2]")).click();
错误消息:
org.openqa.selenium.WebDriverException:无效参数:
找不到档案: \\ XXXXXFOLDER \数据\ SHARED \ PCDEV \职工\ QA_Staff \ ITL \ FileForXXXXX \ XXX_XXXX_XXXXAPPS.txt
答案 0 :(得分:0)
创建WebDriver后,只需在脚本中添加以下代码行。
driver.setFileDetector(new LocalFileDetector());
将预期文件从本地环境上传到远程环境会很有帮助。
答案 1 :(得分:0)
我遇到了同样的问题,我也尝试使用AutoIT和机械手输入功能,这对我也不起作用,但是通过使用sendKeys可以正常工作,给出xpath或输入标签的ID,也许是可行的
driver.findElement(By.xpath(“ // input [@ type ='file']”))。sendKeys(filePath);