Невозможно ввести текст в форму Windows

Мой сайт требует импорта файла. Это делается с помощью нажатия кнопки, а затем стандартной формы Windows, чтобы найти файл на моем рабочем столе. Я изо всех сил пытаюсь заставить транспортир войти в местоположение на рабочем столе. У меня это как .sendkeys к исходной кнопке.

Я что-то упускаю?


person 1822nikki    schedule 17.02.2017    source источник


Ответы (1)


Я бы сделал что-то вроде этого:

var myPath = требуется ('путь');

it('tests the file upload functionality', function() {
  var fileToUpload = '../yourpath/yourfile.exe',
      absolutePath = path.resolve(__dirname, fileToUpload);

  element(by.css('input[type="file"]')).sendKeys(absolutePath);    
  element(by.id('uploadBtn')).click();
});
  1. Используйте модуль пути для определения полного пути к файлу.
  2. Задайте путь к элементу input[type="file"].
  3. Нажмите на кнопку загрузки.

Обратите внимание: это не будет работать в FF, чтобы загрузить в FF, сделайте поле ввода видимым:

browser.executeAsyncScript(function(callback) {
  document.querySelectorAll('#inputElem')[0].style.display = 'inline';
  callback();
});

// Now upload should work
$('input[type="file"]').sendKeys(absolutePath);    
$('#uploadButton').click();
person SaWo    schedule 17.02.2017
comment
Чтобы добавить к своему ответу, вам не нужно снова нажимать кнопку загрузки. Просто отправьте форму за кулисами - person AdityaReddy; 19.02.2017