Selenium-Java:如何获取文件的绝对路径
我创建了一个方法,在那里我得到了一个绝对路径,但当我调试时,我得到了一个不正确的文件路径,应该上传 所以,我得到绝对路径的方法是:Selenium-Java:如何获取文件的绝对路径,java,selenium-webdriver,file-upload,automated-tests,absolute-path,Java,Selenium Webdriver,File Upload,Automated Tests,Absolute Path,我创建了一个方法,在那里我得到了一个绝对路径,但当我调试时,我得到了一个不正确的文件路径,应该上传 所以,我得到绝对路径的方法是: public String getFilePathByFormat(String filePath) { File file = new File(filePath); return file.getAbsolutePath(); } 然后我在一般的低级上传方法中使用这个方法: public void uploadFile(
public String getFilePathByFormat(String filePath) {
File file = new File(filePath);
return file.getAbsolutePath();
}
然后我在一般的低级上传方法中使用这个方法:
public void uploadFile(WebElement webElement, String filePath){
try {
webDriver.manage().timeouts().implicitlyWait(40, SECONDS);
webElement.sendKeys(getFilePathByFormat(filePath));
}catch (Exception e){
printErrorAndStopTest();
}
}
当我调试和评估不正确的路径时:
E:\acceptance tests\src\test\resources,但在磁盘名之后,应该还有一个文件夹-项目所在的位置
有什么问题,为什么getAbsolutePath没有构建正确的路径?
谢谢文件系统中有两种类型的文件路径 1) 绝对路径始终从根元素开始并包含查找文件所需的完整目录列表。例如,Unix系统上的“/Users/username/filename.txt”或Windows系统上的“C:\Users\username\filename.txt” 相对路径没有任何目录列表,需要与其他路径组合才能访问文件。例如,username/filename.txt是一个相对路径;请注意,它在开头没有任何向前或向后斜杠 getAbsolutePath()返回文件的绝对路径,如下所示
要使其工作,您可以传递文件“src/test/resources/test4.pdf”的相对路径,或者只传递文件名“test4.pdf”。文件系统中有两种类型的文件路径 1) 绝对路径始终从根元素开始并包含查找文件所需的完整目录列表。例如,Unix系统上的“/Users/username/filename.txt”或Windows系统上的“C:\Users\username\filename.txt” 相对路径没有任何目录列表,需要与其他路径组合才能访问文件。例如,username/filename.txt是一个相对路径;请注意,它在开头没有任何向前或向后斜杠 getAbsolutePath()返回文件的绝对路径,如下所示
要使其正常工作,您可以传递文件'src/test/resources/test4.pdf'的相对路径,或者只传递文件名'test4.pdf'。实际发布文件路径的值可能会有所帮助…文件路径值我在page类中指示为字符串:public void uploadneedAttachmentandSetType(){uploadFile(“/acceptance tests/src/test/resources/test4.pdf”);}实际发布filePath的值可能会有所帮助……filePath值我在page类中指示为字符串:public void uploadNeededAttachmentAndSetType(){uploadFile(“/acceptance tests/src/test/resources/test4.pdf”);}感谢您的描述。我尝试过使用相对路径或只保留文件名,但它不起作用。此外,我尝试过使用dots:
/acceptance tests/src/test/resources/test4.pdf
,但它复制了设置点之前的文件夹:E:/automationtests/acceptance tests//acceptance tests/src/test/resources/test4.pdf
-调试期间的评估结果。/验收测试文件夹在路径中重复如果我正确,“验收测试”是您的项目文件夹名称。请从输入文件路径中删除该名称和点。当我删除项目文件夹名称并点测试失败时,您的输入应为“src/test/resources/test4.pdf”。当我调试和评估getFilePathByFormat(filePath)
结果是E:/src/test/resources/test4.pdf什么是不正确的问题出现在“/”之前的“src”中“。将其删除并运行测试。谢谢你的描述。我尝试过使用相对路径,或者只保留文件名,但它不起作用。此外,我还尝试使用dots:/acceptance tests/src/test/resources/test4.pdf
,但它复制了设置dot之前的文件夹:E:/automationtests/acceptance tests//acceptance tests/src/test/resources/test4.pdf
——调试期间的评估结果/验收测试文件夹在路径中重复如果我正确,“验收测试”是您的项目文件夹名称。请从输入文件路径中删除该名称和点。当我删除项目文件夹名称并指出测试失败时,您的输入应该是“src/test/resources/test4.pdf”。当我调试和评估getFilePathByFormat(filePath)
时,结果是E:/src/test/resources/test4.pdf什么是不正确的?问题在“src”之前的“/”中。删除它并运行测试。谢谢