Я получаю действительно странную ошибку. В моем тесте я сначала перехожу к angularjs.org. Затем я отправляюKeys() в поле ввода, называемое "Проекты JavaScript", в котором есть фильтры. После этого я нажимаю флажок и отмечаю объект todo как Done. Однако при этом он получает ошибку,
UnknownError: неизвестная ошибка: элемент не кликается в точке (713, 6). Другой элемент получит клик:... (информация сессии: chrome = 43.0.2357.81)
Если я отменяю порядок выполнения выше, ошибки не возникает.
Вот мой код
var util = require ('util');
describe ("Page object text", function() {
var homepage = require('../pages/angularjs_page.js');
it ("Should mark an item done", function() {
homepage.get();
browser.sleep(2000);
homepage.searchText('jquery');
homepage.markDoneTodo(0);
});
});
Вот код объекта страницы:
var angularjs_page = function() {
this.get = function() {
browser.get('http://www.angularjs.org');
};
this.markDoneTodo = function(index) {
element.all(by.repeater('todo in todoList.todos'))
.get(index)
.element(by.model('todo.done'))
.click();
};
this.searchText = function(txt) {
element(by.model('projectList.search')).sendKeys(txt);
};
};
module.exports = new angularjs_page();
Максимизация окна браузера не сработала. Сон(), похоже, не вызывает этой проблемы. Вставка метода sendKey() между ними работает нормально.
browser.sleep(2000);
homepage.searchText('jquery');
homepage.enterName("Hello World");
homepage.markDoneTodo(0);
Итак, что не так с последовательностью выполнения методов searchText() и markDoneTodo()?
Установленная проблема. Оказывается, что панель меню статической верхней навигационной панели перекрывает флажки. Прокрутка наилучшего способа ее решения и как?
С помощью прокрутки решена проблема.
browser.executeScript('window.scrollTo(0,document.body.scrollHeight)');