2016-05-26 10 views
2

JPEG画像をアップロードする必要がある分度器スクリプトを作成しています。アップロードボタンをクリックすると、Windowsファイルセレクタが開きます。しかし、次に、分度器を使用してそのファイルセレクタダイアログでファイルへのパスを書き込む必要があります。分度器を使用してファイルをアップロードするには

しかし、どのように動作するのかわかりません。私はちょうどsendKeysを使用してパスを入力しようとしたが、これまで動作しません。

どのようにすればいいですか?

ありがとうございました。 :)あなたが迅速な解決が解決しようと、次の必要がある場合は

+0

それはあなたを助けることがあり、この[解答](http://stackoverflow.com/a/21314337/4711957)を試してみてください。 –

答えて

3

が私の答えhere.

を試してみてください。

// set file detector 
var remote = require('../../node_modules/protractor/node_modules/selenium-webdriver/remote'); 
browser.setFileDetector(new remote.FileDetector()); 


var fileToUpload = '../sample.txt'; 
var absolutePath = path.resolve(__dirname, fileToUpload); 

var fileElem = element(by.css('input[type="file"]')); 

// Unhide file input 
browser.executeScript("arguments[0].style.visibility = 'visible'; arguments[0].style.height = '1px'; arguments[0].style.width = '1px'; arguments[0].style.opacity = 1", fileElem.getWebElement()); 

fileElem.sendKeys(absolutePath); 

// take a breath 
browser.driver.sleep(100); 

// click upload button 
element(by.css('button[data-ng-click="uploadFile(file)"]')).click(); // does post request 
+0

すばやく簡単です。品質の良い製品を感謝します。 :) –

1
 [settingsEditProfile_page.settingsEditProfile_UploadImageButton()][1].isDisplayed().then(function() { 
        helperUtil.addStep("User redirected to Edit Profile page");   settingsEditProfile_page.settingsEditProfile_UploadImageButton().sendKeys(absolutePath).then(function() { 
        helperUtil.addStep("User clicked on upload button and uploaded new image"); 
        browser.driver.sleep(3000); 

    settingsEditProfile_page.settingsEditProfile_Save().click().then(function() { 
     helperUtil.addStep("User clicked on SAVE button"); 
           }); 
           }); 
          }); 
関連する問題