2016-05-24 11 views

答えて

-2

分度器のバージョンを「1.6.1」に、ng-file-uploadを「9.0.1」に設定します。バージョンbower.jsonと設定:

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

そして、次のコマンドを実行:

bower install 

角度コードしなければならないもの npm install [email protected]

編集ファイルを:これらを行うには、行為が次のように作業するボタンが含まれています:

<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> 

次のよう E2Eテスト用のジャスミン・コードは次のとおりです。

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インストール手順である疑いがあります。あなたが1年以上前のバージョンと2つの安定したバージョンを現在の背後で使用することを提案している理由がわからないのですが、私は同意する必要があります。 – alecxe

1

問題だけではProtractorで、あなたが実際に行うことができない、ということです指定されたファイルへのファイルのドラッグアンドドロップがページ上にあります。また、別の問題は、ブラウザのアップロードダイアログウィンドウを開くと、Protractor/WebDriverJSで制御できないということです。

共通のアプローチはtype="file"input要素を見つけると、それはあなたがをアップロードしたいファイルへ絶対パスを含むに鍵を送信することです。アップロードするにはinputがページに表示されている必要がありますが、通常はinputが隠れているため、「送信キー」を実行するには表示する必要があります。ここにサンプルソリューションを参照してください:

関連する問題