Having made to three days using Appium (really very useful) I am encountering a problem with releaseW3CActions
and driver.performActions
Using the example from http://appium.io/docs/en/commands/interactions/actions/
const driver = wd.promiseChainRemote("http://localhost:4723/wd/hub");
Is how I initialise the driver. I successfully log into our app using elementByAccessibilityId
, and elementByXPath
.
Then when I call: driver.performActions
(the first example on that page) I get the error:
TypeError: driver.performActions is not a function
.
Commenting out that code I can happily run the touchInput
example (included below in all its verbosity) but when I call: await driver.releaseW3CActions();
I get the following error:
(I have removed the stack trace)
Error: [releaseW3CActions()] Error response status: 9, , UnknownCommand - The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource. Selenium error: The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource
:
:
message: '[releaseW3CActions()] Error response status: 9, , UnknownCommand - The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource. Selenium error: The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource',
status: 9,
cause: {
status: 9,
value: {
error: 'unknown command',
message: 'The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource',
stacktrace: ''
},
sessionId: '90fb10d6-ba21-46c5-a22b-0b9162d2c43c'
},
inspect: [Function],
'jsonwire-error': {
status: 9,
summary: 'UnknownCommand',
detail: 'The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource.'
}
}
I feel I may be missing something important!
The complete second test that is completed correctly (from the link above)
var actions = new wd.W3CActions(driver);
var touchInput = actions.addTouchInput();
touchInput.pointerMove({duration: 0, x: 100, y: 100});
touchInput.pointerDown({button: 0});
touchInput.pause({duration: 500});
touchInput.pointerMove({duration: 1000, origin: 'pointer', x: -50, y: 100});
touchInput.pointerUp({button: 0});
var secondTouchInput = actions.addTouchInput();
secondTouchInput.pointerMove({duration: 0, x: 200, y: 200});
secondTouchInput.pointerDown({button: 0});
secondTouchInput.pause({duration: 300});
secondTouchInput.pointerMove({duration: 1000, origin: 'pointer', x: 50, y: 100});
secondTouchInput.pointerUp({button: 0});
await actions.perform();