2016-04-28 7 views
0
<hs-details-item> 
     <hs-label>Location</hs-label> 
     <hs-value-block> 
      <hs> 
       <hs-text-box ng-class="{'disabled': isAmenityPosting }" class="required" input-control="{title:'Location', okCallback:setJobSite, value:jobSiteName, 
         autocomplete:{ values:getJobSiteList, reload: true }, ss:'location'}"> 
        <i class="icon-room"></i><span hs-placeholder="Select Location" class="ng-binding"></span> 
       </hs-text-box> 
      </hs> 
      <hs> 
       <!-- ngIf: isBarcodeShow() --><hs-button ng-class="{'disabled': soCreating }" class="barcode-special-btn smaller ng-scope" ng-if="isBarcodeShow()" hs-gesture="{handler:startScan, param: onBarcodeScanCompleted}"><i class="icon-br-code"></i></hs-button><!-- end ngIf: isBarcodeShow() --> 
      </hs> 
     </hs-value-block> 
    </hs-details-item>    

Szenario: Klicken Sie auf „Location“ Feld ... Was wäre der beste Weg, in Protractor mit einem Befehl zu kommen, um „Standort“ Feld von der oben Snippet-Code? Kann es gemacht werden, indem man Xpath nicht benutzt?Auswahl eines Feldes in Protractor

Antwort

0

Mehrere Optionen hier. die vorhergehenden label Eine Art einer nicht begrüßt, aber kurz und lesbare Weise würde einen XPath-Ausdruck zu verwenden und überprüfen:

var locationTextBox = element(by.xpath("//hs-label[. = 'Location']/following::hs-text-box")); 
locationTextBox.click(); 
+0

@ alecxe ... Vielen Dank .. Es hat funktioniert .. – Kevin

+0

@ Alecxe, Gibt es einen Nachteil mit Xpath, um mit dem Automatisierungsskript zu kommen? – Kevin

+1

@Kevin gut, [Winkelmesser Style Guide] (https://github.com/angular/protractor/blob/master/docs/style-guide.md#never-use-xpath) diktiert, XPath nicht zu verwenden, aber von Aus meiner Sicht ist es zu stark für eine Aussage und sollte eher eine Empfehlung sein, da es bestimmte Anwendungsfälle gibt, wenn es angemessen ist, wie in diesem Fall. – alecxe

Verwandte Themen