2017-11-26 2 views
0

Hallo, ich habe folgenden Code:Satz erwartetes Ergebnis als wahr, wenn Fund in einem String zum Teil richtig Winkelmesser

it('Search for string', function() { 
     var MySearch = element(by.model('searchQuery')); 
     MySearch.sendKeys('Apple Pomace'); 
     expect(MySearch.getAttribute('value')).toBe('Apple Pomace'); 
     element(by.buttonText('Search')).click(); 
     //browser.pause(); 

     var optionTexts = element.all(by.repeater('product in products')).map(function (Options) { 
      return Options.getText(); 
     }); 
     optionTexts.then(function (array){ 

      expect(array).toContain("Apple Pomace"); 

      }); 

     }); 

dann bekomme ich als Ergebnis:

[ 'Apple Pomace\nFinest pressings of apples. Allergy disclaimer: Might contain traces of worms. Can be sent back to us for recycling.\n0.89' ] 

jetzt will ich, wenn das überprüfen Zeichenfolge enthält Apfeltrester

ich versucht habe folgenden Code:

expect(array).toContain('Apple Pomace'); 

dann bekomme ich:

Expected [ 'Apple Pomace 
Finest pressings of apples. Allergy disclaimer: Might contain traces of worms. Can be sent back to us for recycling. 
0.89' ] to contain 'Apple Pomace'. <Click to see difference> 

wie richte ich den Test gilt auch, wenn die gesamte Zeichenkette mein Ergebnis nicht übereinstimmt?

oder validieren Sie die Zeichenfolge zum ersten "\"?

code

Vielen Dank im Voraus

Antwort

1

Vor allem element.all(by.repeater('product in products')).getText() Array von strings.If zurückkehren Sie toContain Matcher auf dem Array verwenden, wird es für die gesamte Zeichenfolge überprüfen, die in dem Array.

In Ihrem Fall müssen Sie prüfen, ob das gesamte Array eine Zeichenfolge enthält, die dem Wort Apple Pomace entspricht. Um dies zu erreichen, müssen Sie das Ergebnisarray in eine Zeichenfolge umwandeln und dann toContain Matcher darauf anwenden.

var displayedResults = element.all(by.repeater('product in products')).getText() 
         .then(function(resultArray){ 
         return resultArray.join(); // will convert the array to string. 
         }) 
expect(displayedResults).toContain("Apple Pomace"); 

Hoffe, das könnte Ihnen helfen!

+0

Vielen Dank! Ich werde es versuchen! –

Verwandte Themen