mirror of
https://github.com/apache/cordova-plugin-camera.git
synced 2025-01-19 11:52:53 +08:00
c1948fc0d4
Taking a screenshot on failure, Retry taking a picture up to 3 times, Try to restart the Appium session if it's lost
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
/* jshint node: true */
|
|
'use strict';
|
|
|
|
var wd = global.WD || require('wd');
|
|
var driver;
|
|
|
|
module.exports.getDriver = function (platform, callback) {
|
|
var serverConfig = {
|
|
host: 'localhost',
|
|
port: 4723
|
|
},
|
|
driverConfig = {
|
|
browserName: '',
|
|
'appium-version': '1.3',
|
|
platformName: platform,
|
|
platformVersion: global.PLATFORM_VERSION || '',
|
|
deviceName: global.DEVICE_NAME || '',
|
|
app: global.PACKAGE_PATH,
|
|
autoAcceptAlerts: true,
|
|
};
|
|
|
|
if (process.env.CHROMEDRIVER_EXECUTABLE) {
|
|
driverConfig.chromedriverExecutable = process.env.CHROMEDRIVER_EXECUTABLE;
|
|
}
|
|
driver = wd.promiseChainRemote(serverConfig);
|
|
module.exports.configureLogging(driver);
|
|
|
|
return driver.init(driverConfig).setImplicitWaitTimeout(10000)
|
|
.sleep(20000) // wait for the app to load
|
|
.then(callback);
|
|
};
|
|
|
|
module.exports.getWD = function () {
|
|
return wd;
|
|
};
|
|
|
|
module.exports.configureLogging = function (driver) {
|
|
driver.on('status', function (info) {
|
|
console.log(info);
|
|
});
|
|
driver.on('command', function (meth, path, data) {
|
|
console.log(' > ' + meth, path, data || '');
|
|
});
|
|
driver.on('http', function (meth, path, data) {
|
|
console.log(' > ' + meth, path, data || '');
|
|
});
|
|
};
|