有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

脚本作为服务运行时文件上载在Jenkins中不起作用(Selenium/Java)

我工作的应用程序需要上传文件。当代码从Eclipse运行时,代码工作正常。当我在Jenkins(Windows服务)中运行相同的代码时。我明白了,org。openqa。硒。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();

错误消息:

组织。openqa。硒。WebDriverException:无效参数:

找不到文件: \\xxxxx文件夹\data\SHARED\PCDEV\STAFF\QA\u STAFF\ITL\FileForXXXXX\XXX\u XXXX\u XXXX应用程序。文本


共 (2) 个答案

  1. # 1 楼答案

    我也遇到了同样的问题,我尝试了AutoIT和robot enter,但对我来说也不起作用,但通过使用sendKeys,可以很好地工作,给出xpath或输入标记的id,可能可以吗

    司机。findElement(By.xpath(“//input[@type='file']”)。sendKeys(文件路径)

  2. # 2 楼答案

    创建WebDriver后,只需在脚本中添加下面的代码行

    driver.setFileDetector(new LocalFileDetector());
    

    它有助于将预期文件从本地环境上载到远程环境