mobile: reset

This commit is contained in:
bootstraponline
2013-02-20 16:11:13 -05:00
parent 6fa18a5452
commit 7f2a27e8cc
+39
View File
@@ -3,6 +3,8 @@
"use strict";
var status = require('./uiauto/lib/status')
, logger = require('../logger.js').get('appium')
, glob = require('glob')
, rimraf = require('rimraf')
, _s = require("underscore.string")
, _ = require('underscore');
@@ -119,7 +121,12 @@ exports.getStatus = function(req, res) {
};
exports.createSession = function(req, res) {
if (typeof req.body === 'string') {
req.body = JSON.parse(req.body);
}
var desired = req.body.desiredCapabilities;
var next = function(sessionId, device, preLaunched) {
var redirect = function() {
res.set('Location', "/wd/hub/session/" + sessionId);
@@ -159,6 +166,37 @@ exports.getSessions = function(req, res) {
[{id: req.appium.sessionId , capabilities: req.device.capabilities}]);
};
exports.reset = function(req, res) {
logger.info("Reset. Closing App.");
var oldId = req.appium.sessionId;
req.device.proxy('au.bundleId()', function(err, bId) {
var bundleId = bId.value;
var user = process.env.USER;
logger.info("Deleting plist for bundle: " + bundleId);
logger.info("User is: " + user);
req.appium.stop(function(){
glob("/Users/" + user + "/Library/Application Support/iPhone Simulator/**/" +
bundleId + ".plist", {}, function(err, files) {
if (err) {
logger.error("Could not remove plist: " + err.message);
} else {
_.each(files, function(file) {
rimraf(file, function() {
logger.info("Deleted " + file);
});
});
}
});
logger.info("Starting app.");
exports.createSession(req, res);
req.appium.sessionId = oldId;
});
});
};
exports.deleteSession = function(req, res) {
req.appium.stop(getResponseHandler(req, res));
};
@@ -541,6 +579,7 @@ var mobileCmdMap = {
, 'setCommandTimeout': exports.setCommandTimeout
, 'getCommandTimeout': exports.getCommandTimeout
, 'setValue' : exports.setValueImmediate
, 'reset' : exports.reset
};
exports.produceError = function(req, res) {