Selenium Webdriver:如何使用他的相对路径上传文件(javascript)

fir*_*baa 4 javascript selenium node.js selenium-webdriver

在 chrome 下使用selenium webdriver 和 node.js (javascript)。

在某些测试中,我必须使用他的相对路径上传文件(我要上传的文件与测试文件在同一目录中)

var fileInput = driver.findElement(webdriver.By.xpath('//*[@id="j_idt69:j_idt70_input"]'));
fileInput.sendKeys('./file.xml');
Run Code Online (Sandbox Code Playgroud)

奇怪的是我的测试失败了,我发现了这个错误:

My error handler... WebDriverError: unknown error: path is not absolute: 
Run Code Online (Sandbox Code Playgroud)

事实上,我使用的是相对路径,因为我的测试旨在用于不同的位置(VMs、jenkins、pc..)。绝对路径对我没有用。

建议??

fir*_*baa 5

我已经这样解决了:

动态检测绝对路径并将其与我的文件名连接:

要使用此节点命令检测当前目录路径process.cwd()

结果路径是: var path = process.cwd()+'/file.xml';

上传动作: fileInput.sendKeys(path);