2016-03-16 2 views
0

Я совершенно новый для протранслятора, и я рассматриваю некоторые основные сценарии, которые были собраны коллегой. В принципе, скрипт ищет текстовую строку на веб-странице, но все строковое значение неизвестно.Символы для подстановок с текстом-заглушкой

Например, у него есть скрипт, проверяющий, что существует текст Severity 1 (5). Однако (5) является счетчиком, поэтому может измениться.

Как я могу изменить линию expect(rowElems.get(2).getText()).toBe('Severity 1 (5)'); включить подстановочные на месте (5)

т.е. если строка Severity 1 (99) Я хочу, чтобы этот тест, чтобы пройти такой же, как если строка Severity 1 (100)

ответ

0

Хорошо, по-видимому, вы можете просто сделать expect(rowElems.get(0).getText()).toContain('Severity 1 (');

0

Что касается как я знаю, Протрактор имеет только partialButtonText и partialLinkText для проверки частичных текстов. Если эти текстовые поля являются ссылками, вы можете использовать partialLinkText.

Я предлагаю вам использовать expect(rowElems.get(2).getText()).toBe('Severity 1');, чтобы проверить доступность текстового значения и проверить числовое значение отдельно.

Надеюсь, это поможет. :)

Для получения дополнительной информации следуйте документации this.

+0

Я на самом деле не заботиться о числовом значении после текстовой строки. и использовать 'ожидать (rowElems.get (2) .getText()). toBe ('Severity 1');' дает ошибку («Ожидаемая» степень 1 (2) »-« Уровень 1 ».) – TomBridges

0

Я бы просто сделать это с чистым JS:

var text    = rowElems.get(2).getText(), 
    isSeverityCorrect = text.indexOf('Severity 1') > -1, 
    regex    = /\(([^\)]+)\)/, 
    matches   = text.match(regex), 
    lastMatch   = matches && matches[matches.length - 1]; 

// Make sure that, the "Severity 1" string is there. 
expect(isSeverityCorrect).toBe(true); 

// I'm gonna assume JASMINE context here. 
// Basically you need to assert if the lastMatch is a number. 
expect(lastMatch).not.toBeFalsy(); 
expect(Number(lastMatch)).not.toBe(NaN); 
Смежные вопросы