上传function(BrowserStack使用node.js)

我有一个testing在我的应用程序上传一个文件(代码如下),并在本地testing它完美的作品。 但是,当我使用BrowserStack进行testing时,BrowserStack无法访问本地机器中的文件。

我已经检查了关于使用BrowserStack和Node.js的文档,但是我还没有看到关于上传function的任何文档。 我的问题是,我如何告诉BrowserStack访问我的本地文件?

有没有人遇到过同样的问题?

this.selectJmxFile = function(jmxFilePath, done){ this.driver.findElement(webdriver.By.xpath("//input[@type='file']")).sendKeys(jmxFilePath); this.driver.wait(function () { return driver.isElementPresent(webdriver.By.css('.test.files.msg.right')); }, this.timeout).then(function () { driver.findElement(webdriver.By.css('.test.files.msg.right')).getText().then(function(text) { expect(text).to.equal('1 new file(s) selected'); done(); }); }); }; 

其中jmxFilePath设置为:

 this.jmxFile = process.cwd() + '/test/functional/features/data/test.jmx'; 

谢谢!

好吧,事实certificate,这还不支持,因为这只是在Node.js Selenium v​​2.45.0中添加。 一旦他们支持最新版本的Selenium,BrowserStack就会拥有这个function。 猜猜我必须find另一个解决方法!

您需要设置文件检测器,并将其传输到正在运行testing的远程浏览器堆栈计算机 –

  webDriver.setFileDetector(new LocalFileDetector());