Функциональность загрузки (BrowserStack с использованием node.js)

У меня есть тест для загрузки файла (код ниже) в мое приложение, и локальное тестирование работает отлично. Однако, когда я тестирую его с помощью BrowserStack, BrowserStack не может получить доступ к файлу на моем локальном компьютере.

Я проверил их документацию об использовании BrowserStack с Node.js, но не видел документации о функциях загрузки. У меня вопрос: как сообщить 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'; 

Спасибо!


person mdcruz    schedule 13.03.2015    source источник
comment
ты решил это?   -  person Sergey Teplyakov    schedule 16.03.2015
comment
Нет, по-видимому, это еще не поддерживается BrowserStack для Node.js   -  person mdcruz    schedule 18.03.2015


Ответы (2)


Хорошо, как оказалось, это еще не поддерживается, так как это было добавлено только в selenium v2.45.0 в Node.js. BrowserStack получит эту функциональность, как только будет поддерживать последнюю версию selenium. Думаю, мне нужно найти другой обходной путь!

person mdcruz    schedule 18.03.2015

Вам нужно установить детектор файлов, и он будет перенесен на удаленную машину Browser Stack, на которой выполняется тест -

 webDriver.setFileDetector(new LocalFileDetector());
person Tarun    schedule 17.07.2017