JMeter解析Windows文件路径斜杠出错,Selenium文件上传求助
JMeter WebDriver Sampler文件上传路径问题解决
问题根源
你的代码中Windows路径的单反斜杠\在Java/JMeter里是转义字符,比如\U会被解析为空字符、\t会被解析为制表符,导致最终路径变成C:Usersdsuhoparov est.docx,Selenium自然找不到文件。
三种有效解决方法
方法1:使用双反斜杠替代单反斜杠
双反斜杠会被Java解析为单个路径分隔符,修正后的代码:WDS.browser.findElement(org.openqa.selenium.By.xpath("//input[@id='versionFile']")).sendKeys("C:\\Users\\dsuhoparov\\test.docx");方法2:使用正斜杠作为路径分隔符
Java支持跨平台路径,正斜杠在Windows系统下也能被正常识别,代码更简洁:WDS.browser.findElement(org.openqa.selenium.By.xpath("//input[@id='versionFile']")).sendKeys("C:/Users/dsuhoparov/test.docx");方法3:用File.separator自动适配系统分隔符
如果需要脚本跨Windows/Linux运行,推荐用Java内置的File.separator自动获取当前系统的路径分隔符:def filePath = "C:" + File.separator + "Users" + File.separator + "dsuhoparov" + File.separator + "test.docx"; WDS.browser.findElement(org.openqa.selenium.By.xpath("//input[@id='versionFile']")).sendKeys(filePath);
验证技巧
可以先打印路径确认是否正确,避免后续排查麻烦:
def path = "C:\\Users\\dsuhoparov\\test.docx"; WDS.log.info("当前使用的文件路径:" + path); WDS.browser.findElement(org.openqa.selenium.By.xpath("//input[@id='versionFile']")).sendKeys(path);
内容的提问来源于stack exchange,提问作者Danila Sukhoparov
相关产品推荐
相关产品推荐

