mirror of
https://github.com/appium/appium.git
synced 2026-02-16 06:50:20 -06:00
4
.gitignore
vendored
4
.gitignore
vendored
@@ -27,8 +27,8 @@ android/bootstrap/local.properties
|
||||
android/bootstrap/project.properties
|
||||
android/bootstrap/.classpath
|
||||
sample-code/apps/ApiDemos
|
||||
app/android/AndroidManifest.xml.apk
|
||||
app/android/AndroidManifest.xml
|
||||
lib/android/AndroidManifest.xml.apk
|
||||
lib/android/AndroidManifest.xml
|
||||
.*~
|
||||
*~
|
||||
android/bootstrap/target/
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
assets/
|
||||
submodules/
|
||||
publish.sh
|
||||
bin/publish.sh
|
||||
reset.sh
|
||||
reset.bat
|
||||
test.sh
|
||||
bin/test.sh
|
||||
sample-code/
|
||||
test/
|
||||
android/bootstrap/bin/
|
||||
android/bootstrap/target/
|
||||
app/android/AndroidManifest.xml.apk
|
||||
lib/android/AndroidManifest.xml.apk
|
||||
_vimrc_local.vim
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
@@ -20,7 +20,7 @@ The quick way to get started:
|
||||
$ cd appium
|
||||
$ ./reset.sh
|
||||
$ sudo grunt authorize # for ios only
|
||||
$ node server.js
|
||||
$ node .
|
||||
|
||||
## Hacking with Appium
|
||||
|
||||
@@ -38,14 +38,14 @@ dependencies and builds supporting binaries and test apps. `reset.sh` is also th
|
||||
recommended command to run after pulling changes from master. At this point,
|
||||
you're able to start the Appium server:
|
||||
|
||||
node server.js
|
||||
node .
|
||||
|
||||
There are some arguments you can pass into the Appium server from the command-line:
|
||||
|
||||
node server.js --app /absolute/path/to/app // launch Appium server with app
|
||||
node server.js --launch // pre-launch the app when appium loads
|
||||
node server.js --log /my/appium.log // log to file instead of stdout
|
||||
node server.js --quiet // don't log verbose output
|
||||
node . --app /absolute/path/to/app // launch Appium server with app
|
||||
node . --launch // pre-launch the app when appium loads
|
||||
node . --log /my/appium.log // log to file instead of stdout
|
||||
node . --quiet // don't log verbose output
|
||||
|
||||
See [the server documentation](https://github.com/appium/appium/blob/master/docs/server-args.md)
|
||||
for a full list of arguments.
|
||||
@@ -70,7 +70,7 @@ At this point, run:
|
||||
|
||||
./reset.sh --ios --dev
|
||||
|
||||
Now your Appium instance is ready to go. Run `node server.js` to kick up the Appium server.
|
||||
Now your Appium instance is ready to go. Run `node .` to kick up the Appium server.
|
||||
|
||||
### Hacking with Appium for Android
|
||||
|
||||
@@ -89,7 +89,7 @@ on your path):
|
||||
|
||||
emulator -avd <MyAvdName>
|
||||
|
||||
Now you are ready to run the Appium server via `node server.js`.
|
||||
Now you are ready to run the Appium server via `node .`.
|
||||
|
||||
### Making sure you're up to date
|
||||
|
||||
@@ -117,13 +117,13 @@ Once your system is set up and your code is up to date, you can run unit tests w
|
||||
|
||||
You can run functional tests for all supported platforms with:
|
||||
|
||||
./test.sh
|
||||
bin/test.sh
|
||||
|
||||
Or you can run particular platform tests with `test.sh`:
|
||||
|
||||
./test.sh --android
|
||||
./test.sh --ios
|
||||
./test.sh --ios7
|
||||
bin/test.sh --android
|
||||
bin/test.sh --ios
|
||||
bin/test.sh --ios7
|
||||
|
||||
Before committing code, please run `grunt` to execute some basic tests and check
|
||||
your changes against code quality standards:
|
||||
@@ -145,7 +145,7 @@ Or individual tests (e.g., a test with the word "alert" in the name):
|
||||
mocha -t 60000 -R spec --grep "alert" test/functional/apidemos
|
||||
|
||||
You can also run all of appium's tests this way. In one window, `node
|
||||
server.js`, in another window, sequentially (waiting for each to pass, making
|
||||
.`, in another window, sequentially (waiting for each to pass, making
|
||||
sure emulator is up, etc...):
|
||||
|
||||
alias mm="mocha -t 60000 -R spec"
|
||||
|
||||
@@ -18,23 +18,23 @@ var path = require('path')
|
||||
, generateAppiumIo = gruntHelpers.generateAppiumIo
|
||||
, setDeviceConfigVer = gruntHelpers.setDeviceConfigVer
|
||||
, setGitRev = gruntHelpers.setGitRev
|
||||
, getGitRev = require('./app/helpers').getGitRev
|
||||
, getGitRev = require('./lib/helpers').getGitRev
|
||||
, runTestsWithServer = gruntHelpers.runTestsWithServer;
|
||||
|
||||
module.exports = function(grunt) {
|
||||
grunt.initConfig({
|
||||
jshint: {
|
||||
all: ['*.js', 'app/*.js', 'app/test/unit/*.js', 'instruments/*.js', 'test/functional/*.js', 'test/unit/*.js', 'test/functional/appium/*.js', 'test/functional/apidemos/*.js', 'test/functional/testapp/*.js', 'test/functional/uicatalog/*.js', 'test/functional/webview/*.js', 'test/helpers/*.js', 'test/functional/safari/*.js', 'test/functional/prefs/*.js', 'test/functional/selendroid/*.js', 'test/functional/firefoxos/*.js', 'app/uiauto/appium/app.js', 'app/uiauto/appium/binding.js', 'app/uiauto/appium/element.js', 'app/uiauto/appium/utility.js', 'app/uiauto/lib/instruments_client.js', 'app/uiauto/lib/status.js', 'android/*.js', 'app/hybrid/ios/*.js', 'app/hybrid/firefox/*.js']
|
||||
files: ['*.js', './**/*.js']
|
||||
, options: {
|
||||
laxcomma: true
|
||||
, es5: true
|
||||
, trailing: true
|
||||
, node: true
|
||||
, strict: true
|
||||
, ignores: ['./submodules/**/*.js', './node_modules/**/*.js', './lib/hybrid/ios/webdriver-atoms/*.js', './sample-code/**/*.js', './test/harmony/**/*.js', './test/functional/_joined/*.js', './lib/server/static/**/*.js', './lib/hybrid/firefoxos/atoms/*.js', './lib/uiauto/**/*.js']
|
||||
}
|
||||
}
|
||||
, mochaTest: {
|
||||
unit: ['app/test/unit/*.js']
|
||||
unit: ['test/unit/*.js']
|
||||
, appiumutils: ['test/functional/appium/appiumutils.js']
|
||||
}
|
||||
, mochaTestWithServer: {
|
||||
|
||||
@@ -5,22 +5,23 @@ var spawn = require('win-spawn')
|
||||
, path = require('path')
|
||||
, fs = require('fs')
|
||||
, net = require('net')
|
||||
, logger = require('../logger').get('appium')
|
||||
, status = require('../app/uiauto/lib/status')
|
||||
, unzipFile = require('../app/helpers').unzipFile
|
||||
, testZipArchive = require('../app/helpers').testZipArchive
|
||||
, logger = require('../lib/server/logger.js').get('appium')
|
||||
, status = require('../lib/uiauto/lib/status')
|
||||
, unzipFile = require('../lib/helpers').unzipFile
|
||||
, testZipArchive = require('../lib/helpers').testZipArchive
|
||||
, async = require('async')
|
||||
, ncp = require('ncp')
|
||||
, mkdirp = require('mkdirp')
|
||||
, _ = require('underscore')
|
||||
, helpers = require('../app/helpers')
|
||||
, helpers = require('../lib/helpers')
|
||||
, AdmZip = require('adm-zip')
|
||||
, getTempPath = helpers.getTempPath
|
||||
, rimraf = require('rimraf')
|
||||
, Logcat = require('./logcat')
|
||||
, isWindows = helpers.isWindows()
|
||||
, md5 = require('MD5')
|
||||
, deviceState = require('./device_state');
|
||||
, helperJarPath = path.resolve(__dirname, 'helpers')
|
||||
, deviceState = require('./device-state');
|
||||
|
||||
var noop = function() {};
|
||||
|
||||
@@ -189,9 +190,11 @@ ADB.prototype.compileManifest = function(manifest, manifestPackage, targetPackag
|
||||
|
||||
// Compile manifest into manifest.xml.apk
|
||||
var compileManifest = [this.binaries.aapt + ' package -M "', manifest + '"',
|
||||
' --rename-manifest-package "', manifestPackage + '"',
|
||||
' --rename-instrumentation-target-package "', targetPackage + '"',
|
||||
' -I "', path.resolve(platform[1], 'android.jar') +'" -F "',
|
||||
' --rename-manifest-package "',
|
||||
manifestPackage + '"',
|
||||
' --rename-instrumentation-target-package "',
|
||||
targetPackage + '"', ' -I "',
|
||||
path.resolve(platform[1], 'android.jar') +'" -F "',
|
||||
manifest, '.apk" -f'].join('');
|
||||
logger.debug(compileManifest);
|
||||
exec(compileManifest, { maxBuffer: 524288 }, function(err, stdout, stderr) {
|
||||
@@ -233,7 +236,8 @@ ADB.prototype.insertManifest = function(manifest, srcApk, dstApk, cb) {
|
||||
if (isWindows) {
|
||||
var java = path.resolve(process.env.JAVA_HOME, 'bin', 'java');
|
||||
java = isWindows ? '"' + java + '.exe"' : '"' + java + '"';
|
||||
var moveManifestCmd = '"' + path.resolve(__dirname, '..', 'app', 'android', 'move_manifest.jar') + '"';
|
||||
var moveManifestCmd = '"' + path.resolve(helperJarPath,
|
||||
'move_manifest.jar') + '"';
|
||||
moveManifestCmd = [java, '-jar', moveManifestCmd, '"' + dstApk + '"', '"' + manifest + '"'].join(' ');
|
||||
|
||||
logger.debug("Moving manifest with: " + moveManifestCmd);
|
||||
@@ -272,7 +276,7 @@ ADB.prototype.insertManifest = function(manifest, srcApk, dstApk, cb) {
|
||||
|
||||
// apks is an array of strings.
|
||||
ADB.prototype.signDefault = function(apks, cb) {
|
||||
var signPath = path.resolve(__dirname, '..', 'app', 'android', 'sign.jar');
|
||||
var signPath = path.resolve(helperJarPath, 'sign.jar');
|
||||
var resign = 'java -jar "' + signPath + '" "' + apks.join('" "') + '" --override';
|
||||
logger.debug("Resigning apks with: " + resign);
|
||||
exec(resign, { maxBuffer: 524288 }, function(err, stdout, stderr) {
|
||||
@@ -292,7 +296,7 @@ ADB.prototype.signCustom = function(apk, cb) {
|
||||
jarsigner = isWindows ? '"' + jarsigner + '.exe"' : '"' + jarsigner + '"';
|
||||
var java = path.resolve(process.env.JAVA_HOME, 'bin', 'java');
|
||||
java = isWindows ? '"' + java + '.exe"' : '"' + java + '"';
|
||||
var unsign = '"' + path.resolve(__dirname, '..', 'app', 'android', 'unsign.jar') + '"';
|
||||
var unsign = '"' + path.resolve(helperJarPath, 'unsign.jar') + '"';
|
||||
unsign = [java, '-jar', unsign, '"' + apk + '"'].join(' ');
|
||||
// "jarsigner" "blank.apk" -sigalg MD5withRSA -digestalg SHA1
|
||||
// -keystore "./key.keystore" -storepass "android"
|
||||
@@ -418,8 +422,7 @@ ADB.prototype.checkApkCert = function(apk, cb) {
|
||||
return;
|
||||
}
|
||||
|
||||
var verifyPath = path.resolve(__dirname, '..', 'app', 'android',
|
||||
'verify.jar');
|
||||
var verifyPath = path.resolve(helperJarPath, 'verify.jar');
|
||||
var resign = 'java -jar "' + verifyPath + '" "' + apk + '"';
|
||||
logger.debug("Checking app cert for " + apk + ": " + resign);
|
||||
exec(resign, { maxBuffer: 524288 }, function(err) {
|
||||
@@ -493,7 +496,7 @@ ADB.prototype.pushStrings = function(cb) {
|
||||
cb(null);
|
||||
});
|
||||
} else {
|
||||
var stringsFromApkJarPath = path.resolve(__dirname, '..', 'app', 'android',
|
||||
var stringsFromApkJarPath = path.resolve(helperJarPath,
|
||||
'strings_from_apk.jar');
|
||||
var outputPath = path.resolve(getTempPath(), this.appPackage);
|
||||
var makeStrings = ['java -jar "', stringsFromApkJarPath,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
var exec = require('child_process').exec
|
||||
, logger = require('../logger').get('appium');
|
||||
, logger = require('../lib/server/logger.js').get('appium');
|
||||
|
||||
function log(msg) {
|
||||
logger.info("[ADB] " + msg);
|
||||
@@ -11,7 +11,7 @@ module.exports = {
|
||||
isScreenLocked: function(adbCmd, cb) {
|
||||
var cmd = adbCmd + " shell dumpsys window";
|
||||
log("Checking if screen is unlocked via `dumpsys window`...");
|
||||
exec(cmd, {maxBuffer: 524288}, function(err, stdout, stderr) {
|
||||
exec(cmd, {maxBuffer: 524288}, function(err, stdout) {
|
||||
if (err) {
|
||||
cb(err);
|
||||
} else {
|
||||
@@ -3,7 +3,7 @@
|
||||
var spawn = require('win-spawn')
|
||||
, through = require('through')
|
||||
, _ = require('underscore')
|
||||
, logger = require('../logger').get('appium');
|
||||
, logger = require('../lib/server/logger.js').get('appium');
|
||||
|
||||
var Logcat = function(opts) {
|
||||
this.adbCmd = opts.adbCmd;
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
var net = require('net')
|
||||
, repl = require('repl')
|
||||
, colors = require('colors')
|
||||
, appium = require('../server')
|
||||
, parser = require('./parser');
|
||||
, appium = require('../lib/server/main.js')
|
||||
, parser = require('../lib/server/parser.js');
|
||||
|
||||
var startRepl = function() {
|
||||
var help = function() {
|
||||
1
instruments/client.js → bin/instruments-client.js
Normal file → Executable file
1
instruments/client.js → bin/instruments-client.js
Normal file → Executable file
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
|
||||
var net = require('net')
|
||||
@@ -11,7 +11,7 @@ Appium supports a subset of the WebDriver locator strategies:
|
||||
|
||||
You can use the direct UIAutomation component type name for the tag name, or use the simplified mapping (used in some examples below) found here:
|
||||
|
||||
https://github.com/appium/appium/blob/master/app/uiauto/lib/mechanic.js#L29
|
||||
https://github.com/appium/appium/blob/master/lib/uiauto/lib/mechanic.js#L29
|
||||
|
||||
Issues
|
||||
------
|
||||
@@ -160,4 +160,4 @@ After launching the Appium Inspector (you can do this by clicking the small "i"
|
||||
|
||||
To find the id of this button, I click the "show alert" button in the inspector preview. The Appium inspector then highlights the element in the UI navigator, showing me both the id and element type of the button I clicked.
|
||||
|
||||

|
||||

|
||||
|
||||
@@ -4,7 +4,7 @@ Selenium Grid
|
||||
You are able to register you appium server with a local grid by using the <b>"--nodeconfig"</b> server parameter.
|
||||
|
||||
```bash
|
||||
> node server.js -V --nodeconfig /path/to/nodeconfig.json
|
||||
> node . -V --nodeconfig /path/to/nodeconfig.json
|
||||
```
|
||||
|
||||
In the node config file you have to define the <b>"browserName"</b>, <b>"version"</b> and <b>"platform"</b> and based on these parameters the grid will re-direct your test to the right device. You will also need to configure you <b>host</b> details and the <b>selenium grid</b> details. For a full list of all parameters and descriptions look <a href="http://code.google.com/p/selenium/source/browse/java/server/src/org/openqa/grid/common/defaults/GridParameters.properties">here</a>.
|
||||
|
||||
@@ -13,7 +13,7 @@ Then, use desired capabilities like these to run your test in mobile Safari:
|
||||
|
||||
```js
|
||||
{
|
||||
, app: 'safari'
|
||||
app: 'safari'
|
||||
, device: 'iPhone Simulator'
|
||||
, version: '6.1'
|
||||
}
|
||||
|
||||
@@ -21,10 +21,10 @@ You must install your iOS app using Xcode's Run button.
|
||||
Running your tests with Appium
|
||||
---
|
||||
|
||||
Once your device and app are configured, you can run tests on that device by passing the -U flag to server.js:
|
||||
Once your device and app are configured, you can run tests on that device by passing the -U flag to the server:
|
||||
|
||||
```
|
||||
node server.js -U <UDID> --app <bundle_id>
|
||||
node . -U <UDID> --app <bundle_id>
|
||||
```
|
||||
|
||||
This will start Appium and have Appium use the device to test the app.
|
||||
@@ -35,4 +35,4 @@ Troubleshooting ideas
|
||||
0. Make sure UDID is correct by checking it in xcode organizer or itunes. It is a long string (20+ chars)
|
||||
0. Make sure that you can run your tests against simulator
|
||||
0. Double check that you can invoke your automation from instruments.
|
||||
0. Make sure instruments in closed already
|
||||
0. Make sure instruments in closed already
|
||||
|
||||
@@ -24,7 +24,7 @@ Now that you've downloaded everything, run:
|
||||
|
||||
To run tests on Windows, you will need to have the Android Emulator booted or an Android Device connected that is running an AVD with API Level 17 or greater. Then run Appium on the command line using node.js:
|
||||
|
||||
node server.js
|
||||
node .
|
||||
|
||||
See the [server documentation](https://github.com/appium/appium/blob/master/docs/server-args.md) for all the command line arguments.
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ The best way to see what to do currently is to look at the example tests:
|
||||
|
||||
Basically, first make sure Appium is running:
|
||||
|
||||
node server.js -V
|
||||
node . -V
|
||||
|
||||
Then script your WebDriver test, sending in the following desired capabilities:
|
||||
|
||||
@@ -73,7 +73,7 @@ otherwise failing, you can restart it by running:
|
||||
|
||||
Now, make sure Appium is running:
|
||||
|
||||
node server.js
|
||||
node .
|
||||
|
||||
Then script your WebDriver test, sending in the following desired capabilities:
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
"use strict";
|
||||
|
||||
var _ = require("underscore")
|
||||
, server = require('./server.js')
|
||||
, server = require('./lib/server/main.js')
|
||||
, rimraf = require('rimraf')
|
||||
, http = require('http')
|
||||
, path = require('path')
|
||||
, temp = require('temp')
|
||||
, mkdirp = require('mkdirp')
|
||||
@@ -12,12 +11,12 @@ var _ = require("underscore")
|
||||
, prompt = require('prompt')
|
||||
, exec = require('child_process').exec
|
||||
, spawn = require('win-spawn')
|
||||
, parser = require('./app/parser')
|
||||
, parser = require('./lib/server/parser.js')
|
||||
, namp = require('namp')
|
||||
, parseXmlString = require('xml2js').parseString
|
||||
, appiumVer = require('./package.json').version
|
||||
, fs = require('fs')
|
||||
, helpers = require('./app/helpers')
|
||||
, helpers = require('./lib/helpers')
|
||||
, isWindows = helpers.isWindows()
|
||||
, getXcodeVersion = helpers.getXcodeVersion
|
||||
, MAX_BUFFER_SIZE = 524288;
|
||||
@@ -560,7 +559,7 @@ module.exports.generateServerDocs = function(grunt, cb) {
|
||||
var p = parser();
|
||||
var docFile = path.resolve(__dirname, "docs/server-args.md");
|
||||
var md = "Appium server arguments\n==========\n\n";
|
||||
md += "Usage: `node server.js [flags]`\n\n";
|
||||
md += "Usage: `node . [flags]`\n\n";
|
||||
md += "### Server flags\n";
|
||||
md += "All flags are optional, but some are required in conjunction with " +
|
||||
"certain others.\n\n";
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
|
||||
var client = require('./client.js');
|
||||
|
||||
var args = client.parser.parseArgs();
|
||||
client.connect(args.result, args.socket);
|
||||
@@ -1,56 +0,0 @@
|
||||
"use strict";
|
||||
var http = require('http')
|
||||
, path = require('path')
|
||||
, spawn = require('child_process').spawn
|
||||
, build = require('../build')
|
||||
, fs = require('fs')
|
||||
, instruments = require('./instruments')
|
||||
, rimraf = require('rimraf');
|
||||
|
||||
var appRoot = path.resolve(__dirname, '../sample-code/apps/TestApp/');
|
||||
var simApp = path.resolve(appRoot, 'build/Release-iphonesimulator/TestApp.app');
|
||||
|
||||
build(appRoot, function(err) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log("Launching instruments...");
|
||||
var onLaunch = function(inst) {
|
||||
inst.setDebug(true);
|
||||
inst.sendCommand("mainWindow.textFields()[0].setValue('3');", function() {
|
||||
inst.sendCommand("mainWindow.textFields()[1].setValue('5');", function() {
|
||||
inst.sendCommand("mainWindow.buttons()[0].tap();", function() {
|
||||
inst.sendCommand("mainWindow.staticTexts()[0].value()", function(sum) {
|
||||
console.log("Sum should be 8 and is " + sum);
|
||||
inst.shutdown();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
var onExit = function(code, traceDir) {
|
||||
console.log("Instruments exited " + (code === 0 ? "cleanly" : "with code " + code));
|
||||
if (traceDir) {
|
||||
rimraf(traceDir, function() {
|
||||
console.log("Deleted tracedir");
|
||||
process.kill(code);
|
||||
});
|
||||
} else {
|
||||
console.log("Could not delete tracedir");
|
||||
process.kill(code);
|
||||
}
|
||||
};
|
||||
|
||||
var inst = instruments(
|
||||
simApp
|
||||
, null
|
||||
, path.resolve(__dirname, '../app/uiauto/bootstrap.js')
|
||||
, path.resolve(__dirname, '../app/uiauto/Automation.tracetemplate')
|
||||
, '/tmp/instruments_sock'
|
||||
, onLaunch
|
||||
, onExit
|
||||
);
|
||||
});
|
||||
@@ -1,11 +1,12 @@
|
||||
// Appium webserver controller methods
|
||||
// https://github.com/hugs/appium/blob/master/appium/appium.py
|
||||
"use strict";
|
||||
var routing = require('./routing')
|
||||
, logger = require('../logger').get('appium')
|
||||
, setLogFile = require('../logger').setLogFile
|
||||
, setWebhook = require('../logger').setWebhook
|
||||
, helpers = require('./helpers')
|
||||
var routing = require('./server/routing.js')
|
||||
, loggerjs = require('./server/logger.js')
|
||||
, logger = loggerjs.get('appium')
|
||||
, setLogFile = loggerjs.setLogFile
|
||||
, setWebhook = loggerjs.setWebhook
|
||||
, helpers = require('./helpers.js')
|
||||
, downloadFile = helpers.downloadFile
|
||||
, unzipApp = helpers.unzipApp
|
||||
, checkSafari = helpers.checkSafari
|
||||
@@ -14,13 +15,13 @@ var routing = require('./routing')
|
||||
, UUID = require('uuid-js')
|
||||
, _ = require('underscore')
|
||||
, fs = require('fs')
|
||||
, ios = require('./ios')
|
||||
, android = require('./android')
|
||||
, selendroid = require('./selendroid')
|
||||
, chrome = require('./chrome_android')
|
||||
, firefoxOs = require('./firefoxos')
|
||||
, status = require("./uiauto/lib/status")
|
||||
, helpers = require('./helpers')
|
||||
, ios = require('./devices/ios.js')
|
||||
, android = require('./devices/android.js')
|
||||
, selendroid = require('./devices/selendroid.js')
|
||||
, chrome = require('./devices/chrome_android.js')
|
||||
, firefoxOs = require('./devices/firefoxos.js')
|
||||
, status = require("./uiauto/lib/status.js")
|
||||
, helpers = require('./helpers.js')
|
||||
, isWindows = helpers.isWindows();
|
||||
|
||||
var Appium = function(args) {
|
||||
@@ -1,23 +1,19 @@
|
||||
"use strict";
|
||||
|
||||
var errors = require('./errors')
|
||||
, adb = require('../android/adb')
|
||||
var errors = require('../server/errors.js')
|
||||
, adb = require('../../android/adb.js')
|
||||
, _ = require('underscore')
|
||||
, logger = require('../logger').get('appium')
|
||||
, deviceCommon = require('./device')
|
||||
, status = require("./uiauto/lib/status")
|
||||
//, NotImplementedError = errors.NotImplementedError
|
||||
, logger = require('../server/logger.js').get('appium')
|
||||
, deviceCommon = require('./common.js')
|
||||
, status = require("../uiauto/lib/status.js")
|
||||
, NotYetImplementedError = errors.NotYetImplementedError
|
||||
, parseXpath = require('./uiauto/appium/xpath').parseXpath
|
||||
, parseXpath = require('../uiauto/appium/xpath.js').parseXpath
|
||||
, exec = require('child_process').exec
|
||||
, fs = require('fs')
|
||||
, os = require('os')
|
||||
, temp = require('temp')
|
||||
, async = require('async')
|
||||
, path = require('path')
|
||||
, UnknownError = errors.UnknownError
|
||||
, helpers = require('./helpers')
|
||||
, isWindows = helpers.isWindows();
|
||||
, UnknownError = errors.UnknownError;
|
||||
|
||||
var Android = function(opts) {
|
||||
this.initialize(opts);
|
||||
@@ -580,7 +576,8 @@ Android.prototype.getPageSource = function(cb) {
|
||||
});
|
||||
}.bind(this),
|
||||
function(cb) {
|
||||
var jar = path.resolve(__dirname, '../app/android/dump2json.jar');
|
||||
var jar = path.resolve(__dirname, '..', '..', 'android', 'helpers',
|
||||
'dump2json.jar');
|
||||
var cmd = 'java -jar "' + jar + '" "' + xmlFile + '"';
|
||||
logger.debug('json command: ' + cmd);
|
||||
exec(cmd, { maxBuffer: 524288 }, function(err, stdout, stderr) {
|
||||
@@ -1,15 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
var Android = require('./android').Android
|
||||
var Android = require('./android.js').Android
|
||||
, _ = require('underscore')
|
||||
, proxyTo = require('./device').proxyTo
|
||||
, logger = require('../logger').get('appium')
|
||||
, proxyTo = require('./common.js').proxyTo
|
||||
, logger = require('../server/logger.js').get('appium')
|
||||
, exec = require('child_process').exec
|
||||
, spawn = require('child_process').spawn
|
||||
, async = require('async')
|
||||
, through = require('through')
|
||||
, isWindows = require('./helpers').isWindows()
|
||||
, adb = require('../android/adb');
|
||||
, isWindows = require('../helpers.js').isWindows()
|
||||
, adb = require('../../android/adb.js');
|
||||
|
||||
var ChromeAndroid = function(opts) {
|
||||
this.initialize(opts);
|
||||
@@ -1,11 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
var errors = require('./errors')
|
||||
var errors = require('../server/errors.js')
|
||||
, request = require('request')
|
||||
, _ = require('underscore')
|
||||
, exec = require('child_process').exec
|
||||
, status = require("./uiauto/lib/status")
|
||||
, logger = require('../logger').get('appium');
|
||||
, status = require("../uiauto/lib/status.js")
|
||||
, logger = require('../server/logger.js').get('appium');
|
||||
|
||||
var UnknownError = errors.UnknownError
|
||||
, ProtocolError = errors.ProtocolError;
|
||||
@@ -1,12 +1,12 @@
|
||||
"use strict";
|
||||
|
||||
var errors = require('./errors')
|
||||
var errors = require('../server/errors.js')
|
||||
, _ = require('underscore')
|
||||
, logger = require('../logger').get('appium')
|
||||
, logger = require('../server/logger.js').get('appium')
|
||||
, net = require('net')
|
||||
, deviceCommon = require('./device')
|
||||
, status = require("./uiauto/lib/status")
|
||||
, getAtomSrc = require('./hybrid/firefoxos/firefoxos-atoms').get
|
||||
, deviceCommon = require('./common.js')
|
||||
, status = require("../uiauto/lib/status.js")
|
||||
, getAtomSrc = require('../hybrid/firefoxos/firefoxos-atoms').get
|
||||
, async = require('async')
|
||||
, NotYetImplementedError = errors.NotYetImplementedError;
|
||||
|
||||
@@ -3,24 +3,24 @@ var path = require('path')
|
||||
, rimraf = require('rimraf')
|
||||
, fs = require('fs')
|
||||
, _ = require('underscore')
|
||||
, logger = require('../logger').get('appium')
|
||||
, logger = require('../server/logger.js').get('appium')
|
||||
, sock = '/tmp/instruments_sock'
|
||||
, glob = require('glob')
|
||||
, exec = require('child_process').exec
|
||||
, bplistCreate = require('bplist-creator')
|
||||
, bplistParse = require('bplist-parser')
|
||||
, xmlplist = require('plist')
|
||||
, instruments = require('../instruments/instruments')
|
||||
, instruments = require('../instruments.js')
|
||||
, uuid = require('uuid-js')
|
||||
, helpers = require('./helpers.js')
|
||||
, helpers = require('../helpers.js')
|
||||
, escapeSpecialChars = helpers.escapeSpecialChars
|
||||
, parseWebCookies = helpers.parseWebCookies
|
||||
, rotateImage = helpers.rotateImage
|
||||
, rd = require('./hybrid/ios/remote-debugger')
|
||||
, wkrd = require('./hybrid/ios/webkit-remote-debugger')
|
||||
, errors = require('./errors')
|
||||
, deviceCommon = require('./device')
|
||||
, status = require("./uiauto/lib/status")
|
||||
, rd = require('../hybrid/ios/remote-debugger.js')
|
||||
, wkrd = require('../hybrid/ios/webkit-remote-debugger.js')
|
||||
, errors = require('../server/errors.js')
|
||||
, deviceCommon = require('./common.js')
|
||||
, status = require("../uiauto/lib/status.js")
|
||||
, IDevice = require('node-idevice')
|
||||
, async = require('async')
|
||||
, request = require('request')
|
||||
@@ -180,7 +180,7 @@ IOS.prototype.start = function(cb, onDie) {
|
||||
this.app || this.bundleId
|
||||
, this.udid
|
||||
, this.isSafariLauncherApp
|
||||
, path.resolve(__dirname, 'uiauto/bootstrap.js')
|
||||
, path.resolve(__dirname, '..', 'uiauto', 'bootstrap.js')
|
||||
, this.automationTraceTemplatePath
|
||||
, sock
|
||||
, this.withoutDelay
|
||||
@@ -1,15 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
var errors = require('./errors')
|
||||
, adb = require('../android/adb')
|
||||
var errors = require('../server/errors.js')
|
||||
, adb = require('../../android/adb.js')
|
||||
, _ = require('underscore')
|
||||
, deviceCommon = require('./device')
|
||||
, deviceCommon = require('./common.js')
|
||||
, request = deviceCommon.request
|
||||
, proxyTo = deviceCommon.proxyTo
|
||||
, getLog = deviceCommon.getLog
|
||||
, getLogTypes = deviceCommon.getLogTypes
|
||||
, logger = require('../logger').get('appium')
|
||||
, status = require("./uiauto/lib/status")
|
||||
, logger = require('../server/logger.js').get('appium')
|
||||
, status = require("../uiauto/lib/status.js")
|
||||
, fs = require('fs')
|
||||
, async = require('async')
|
||||
, path = require('path')
|
||||
@@ -66,7 +66,7 @@ Selendroid.prototype.keyevent = function(body, cb) {
|
||||
|
||||
Selendroid.prototype.ensureServerExists = function(cb) {
|
||||
logger.info("Checking whether selendroid is built yet");
|
||||
var selBin = path.resolve(__dirname, "..", "build", "selendroid",
|
||||
var selBin = path.resolve(__dirname, "..", "..", "build", "selendroid",
|
||||
"selendroid.apk");
|
||||
fs.stat(selBin, function(err) {
|
||||
if (err) {
|
||||
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var logger = require('../logger').get('appium')
|
||||
var logger = require('./server/logger.js').get('appium')
|
||||
, fs = require('fs')
|
||||
, ncp = require('ncp').ncp
|
||||
, request = require('request')
|
||||
@@ -2,7 +2,7 @@
|
||||
/* DEPENDENCIES */
|
||||
|
||||
var net = require('net')
|
||||
, appLogger = require('../../../logger.js').get('appium')
|
||||
, appLogger = require('../../server/logger.js').get('appium')
|
||||
, _ = require('underscore')
|
||||
, messages = require('./remote-messages.js')
|
||||
, atoms = require('./webdriver-atoms')
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user