2017-01-06 3 views
1

Ich benutze Winkelmesser und ich muss .click() auf eine Schaltfläche von.partialLinkText ausgewählt. Wir verwenden angular-translate wie folgt:Winkelmesser: Wählen Sie mit eckigem Text übersetzen

a(href="/documents/Impressum.pdf", target="_blank", ng-click="closePanelByImpressum()") {{ "STARTPAGE.IMPRESSUM" | translate }} 

Wie kann ich mit dem Translate-Text auswählen?

element(by.partialLinkText('Impressum')).click().then(function() { 
      browser.getAllWindowHandles().then(function (handles) { 
       var newWindowHandle = handles[1]; 
       browser.switchTo().window(newWindowHandle).then(function() { 
        var promise = browser.driver.getCurrentUrl(); 

        return promise.then((url) => { 
         expect(url.endsWith("/documents/Impressum.pdf")).to.be.eql(true); 
        }); 
       }); 
      }); 
     }) 
+0

Kannst du nicht einfach einen anderen Locator verwenden? Gib dem Link eine ID und erhalte das Element auf diese Weise – benjrb

+0

Ich stimme @benjrb zu, obwohl du keine Attribute hinzufügen musst. Kannst du einfach den 'ng-Klick' benutzen? h. 'var el = $ ('[ng-click =" closePanelByImpressum() "]')' – Gunderson

Antwort

0

Sie können Ihre STARTPAGE.IMPRESSUM Bindung (dies ein Schlüssel für einen Text ist verbindlich, dass Übersetzung verwendet den richtigen Text in der richtigen Sprache zurückzukehren).

könnte Ihre Wähler wie folgt aussehen:

element(by.binding('STARTPAGE.IMPRESSUM'))