Я хочу проверить две вещи: работает ли функция поиска в AskJeeves И сохранена ли в полях поиска правильная строка.

Чтобы проверить это, я запускаю три оператора ожидания:

expect(searched_term.getText()).toEqual('Baking a Cake without Margarine');
expect(searched_term.getText()).toEqual('Baking a Pie without Butter');
expect(searched_term.getText()).toEqual(search_box.getText());

Только второй должен выйти из строя. Но и первый терпит неудачу. Это почему? Вот журнал ошибок. Также как я могу подсчитать, сколько операторов ожидания у меня есть, и console.log () выводит это?

Журнал ошибок:

enter image description here

browser.waitForAngularEnabled(false);
describe('Enter Search Query in Ask Jeeves', function() {
    it('This will insert a query', function() {
        browser.get(browser.baseUrl);

        element(by.xpath('//*[@id="search-box"]'));
        var search_box = element(by.name("q")).sendKeys('Baking a Cake without Margarine');
        browser.pause(1500);


        var button = element(by.xpath('//*[@id="sbut"]'));
        button.click();
        var searched_term = element(by.name("q"));

        expect(searched_term.getText()).toEqual('Baking a Cake without Margarine');
        expect(searched_term.getText()).toEqual('Baking a Pie without Butter');
        expect(searched_term.getText()).toEqual(search_box.getText());
        // This expect statement checks if the term in the following page reflects the term originally searched.
        // In addition this will check functionality of the search engine.

        browser.pause(1500);
    });
});
1
Dasman 28 Дек 2017 в 19:47

1 ответ

Лучший ответ

Элемент searched_term является элементом input - у него нет «текста», а значение ввода сохраняется в атрибуте value. Замените getText() на getAttribute("value"):

expect(searched_term.getAttribute("value")).toEqual('Baking a Cake without Margarine');
2
alecxe 28 Дек 2017 в 16:53