2015-12-10 3 views
2

В документах для leadfoot Command # moveMouseTo указывает, что каждый аргумент является необязательным (https://theintern.github.io/leadfoot/Command.html#moveMouseTo). Когда я передаю элемент без передачи смещений X или Y, я получаю сообщение об ошибке, связанной с командой, требующей наличия смещений.Leadfoot moveMouseTo требует смещения X/Y, когда элемент присутствует

message: [POST http://localhost:4444/wd/hub/session/62d8467c-21d9-4565-bc9d-e527c91dc61d/moveto/{}] Missing parameters: element, xoffset, yoffset (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 0 milliseconds Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50' 

Вот код в вопросе:

.then(function() { 
    return contextMenu.Options.Actions.element; 
}) 
.then(function (element) { 
    return Remote.moveMouseTo(element); 
}) 

contextMenu.Options.Actions.element определяется как:

return Remote 
    .setFindTimeout(5000) 
    .findByXpath('/html/body/table[1]/tbody/tr[2]'); 

Согласно документации, это должны переместить мышь к центра пройденного элемента. Очевидно, этого не происходит. Я что-то делаю неправильно? Правильно ли это не задокументировано, или это ошибка в Leadfoot?

EDIT Правильный формат для тестового кода:

.then(contextMenu.Options.Actions.element) 
.then(function (element) { 
    return Remote.moveMouseTo(element); 
}) 

ответ

1

Основываясь на том, что я могу видеть из информации, которую вы дали здесь, contextMenu.Options.Actions.element является undefined или какого-либо другого типа, который не может быть сериализации в JSON (например, function).

+0

Если я предоставляю значения смещения, все в порядке. 'return Remote.moveMouseTo (element, 0, 0);' работает как шарм. – MBielski

+0

Посмотрите параметры, которые отправляются на сервер в этом случае. Действительно ли они включают элемент или только xoffset и yoffset? –

+0

Хорошо, сделаю, но мне может потребоваться немного, чтобы вернуться к вам. – MBielski