2016-12-02 1 views
2

Facing folgende Fehler laden:Das Bild kann nicht in Winkelmesser

Failed: No element found using locator: By(css selector, input[type="images"])

Protractor Code:

it("image upload",function(){ 
    browser.ignoreSynchronization = true; 
    browser.sleep(4000); 
    element(by.css('[ng-click="imagePost()"]')).click(); 
    browser.sleep(3000); 
    var ele = element(by.model("files")).click(); 
    browser.wait(EC.visibilityOf(ele),8000,'Ele is not presented'); 

    var fileToUpload = "C:\Users\Shiva\Desktop\mdkg.jpg;" 
    console.log(fileToUpload); 
    var absolutePath = path.resolve(fileToUpload); 
    console.log(absolutePath); 
    $('input[type="images"]').sendKeys(absolutePath); 
    element(by.buttonText('Post Image')).click(); 
    browser.sleep(5000); 
}); 

HTML-Code-Bild laden:

<div ngf-drop ng-model="files" ngf-pattern="image/*" data-ngf-multiple="true" ng-repeat="image in images1" ngf-size> 
     <img src="{{image}}" width = "100%" height = "100%" class="m-l img-responsive img-rounded m-b" alt="post images"> 
     </img-crop> 
     <span ng-show="loading" class="text-center col-xs-12" ></span> 
    </div> 
</div> 
<div class="modal-actions "> 
    <button type="submit " class="btn-link modal-action "> 
     <strong><span class="icon icon-user "></span>postImg</strong> 
    </button> 
    <button type="button" id="fileinput" ng-model="files" ngf-select accept="image/* " data-ngf-multiple="true" class="btn-link modal-action">Upload Image 

Hier bin ich uploding Bild, Wenn ich auf das Upload-Bild klicke, navigiert es zum lokalen System und es sollte das Bild hochladen. Und nach dem Hochladen sollte es posten.

+1

Wo ist Ihr ''? – vjarysta

+0

Danke @vjarysta. Eingabe Tag nicht dort in meinem Code, aber wenn ich Eingabe Tag in Winkelmesser es läuft, und es zeigt Popup als Dateien nicht erlaubt (in meiner Anwendung, wenn der Benutzer versucht, andere als Bilder hochladen Popup wird kommen). – Shiva

+0

kann jemand diese noch kämpfen kämpfen – Shiva

Antwort

1

hier ist meine Antwort mit Seitenobjekte:

this.uploadImage = function(){ 

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


     var fileToUpload = '../../mdkg.jpg'; 
     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.sleep(4000); 
     element(by.buttonText('Post Image')).click(); 
     browser.sleep(4000); 
    }; 

post_text.uploadImage(); 
Verwandte Themen