2016-05-24 6 views

ответ

-2

Установите версию вашего трактора на «1.6.1» и ng-file-upload в «9.0.1». Для того, чтобы сделать это, действуйте следующим образом: npm install [email protected]

Редактировать файл: bower.json и установить версию:

"ng-file-upload": "~9.0.1", 

, а затем выполнить следующие действия:

bower install 

Угловой код должен также содержит кнопку в ней для работы:

<div id="fileBTSToUpload" ngf-drop ngf-select ng-model="fileBTS" class="drop-box" ngf-accept="'.txt'" ngf-drag-over-class="'dragover'"> Drag and Drop 
     </div> 

     <button id="btn2" ng-click="uploadFileToUrl(fileBTS, btsUrl);">upload</button> 


Код Жасмина для тестирования ЕоГО выглядят следующим образом:

it('a sample test...',function(){ 
//Assemble 
browser.get('/the_page_url'); 
//Act 
var fileToUpload = './some-file.csv'; 
var path = require('path'); 
var absolutePath = path.resolve(__dirname,fileToUpload); 
var input = element(by.css('input[type=file]')); 
input.sendKeys(absolutePath); 
element(by.id('btn2')).click(); 
browser.waitForAngular(); 
//Assert 
expect(2).toEqual(2); 
//browser.sleep(5000); 
//browser.pause(); 
}); 

И путь для установки, сделайте следующее:

npm install path 
+0

Я подозреваю, что downvotes являются из стадии установки транспортир 1.6.1. Не знаете, почему вы предлагаете использовать версию старше года и 2 стабильные версии за текущим. Хотя я должен согласиться, средняя часть, где вы отправляете ключи на вход, верна. – alecxe

1

Проблема заключается в том, что, с одной только Protractor, вы не можете сделать фактическое перетаскивание файла в назначенное на странице. И еще одна проблема заключается в том, что если вам удастся открыть диалоговое окно загрузки браузера, вы не сможете управлять им через Protractor/WebDriverJS.

Общий подход состоит в нахождении input элемента с type="file" и отправить ключи к нему, содержащему абсолютного пути к файлу, который вы хотите загрузить. input должен быть на странице для загрузки на работу, хотя обычно input скрыт, и вам нужно будет сделать его видимым для выполнения «отправки ключей». Смотрите примеры решения здесь: