Merge pull request #2631 from sebv/master

Fixing remaining ios tests
This commit is contained in:
seb vincent
2014-05-22 01:46:33 +08:00
23 changed files with 130 additions and 110 deletions

View File

@@ -9,6 +9,7 @@ android_only=false
android_arm_only=false
selendroid_only=false
all_tests=true
xcode_switch=true
xcode_path=""
if command -v xcode-select 2>/dev/null; then
xcode_path="$(xcode-select -print-path | sed s/\\/Contents\\/Developer//g)"
@@ -37,6 +38,8 @@ for arg in "$@"; do
elif [ "$arg" = "--ios71" ]; then
ios71_only=true
all_tests=false
elif [ "$arg" = "--no-xcode-switch" ]; then
xcode_switch=false
elif [ "$arg" =~ " " ]; then
mocha_args="$mocha_args \"$arg\""
else
@@ -49,12 +52,16 @@ appium_mocha="./node_modules/.bin/mocha --recursive $mocha_args"
run_ios_tests() {
echo "RUNNING IOS $1 TESTS"
echo "---------------------"
if test -d /Applications/Xcode-$1.app; then
echo "Found Xcode for iOS $1, switching to it"
sudo xcode-select -switch /Applications/Xcode-$1.app
did_switch_xcode=true
else
echo "Did not find /Applications/Xcode-$1.app, using default"
if $xcode_switch; then
if test -d /Applications/Xcode-$1.app; then
echo "Found Xcode for iOS $1, switching to it"
sudo xcode-select -switch /Applications/Xcode-$1.app
did_switch_xcode=true
else
echo "Did not find /Applications/Xcode-$1.app, using default"
fi
fi
echo
DEVICE=$2 time $appium_mocha -g $3 -i \

View File

@@ -5,7 +5,7 @@ var chai = require('chai')
, serverHub = serverUrl + '/wd/hub/session'
, request = require('request');
describe("common - jsonwp @skip-ci", function () {
describe("common - jsonwp @skip-ci @skip-ios6", function () {
// TODO: This cannot be tested using Sauce. It need to be run within a Travis
// instance.
describe('to a non-existent url', function () {

View File

@@ -46,7 +46,7 @@ var waitForLaunch = function (app, extraArgs, done) {
return proc;
};
describe("common - prelaunch @skip-ci", function () {
describe("common - prelaunch @skip-ci @skip-ios6", function () {
// TODO: test helpers need to be modified to cope prelaunch on sauce.
// leaving it out for now.
this.timeout(env.MOCHA_INIT_TIMEOUT);

View File

@@ -37,7 +37,7 @@ var activateWebView = function (driver) {
});
};
describe("gappium", function () {
describe("gappium @skip-ios6", function () {
describe('HelloGappium', function () {
var driver;
setup(this, desired).then(function (d) { driver = d; });

View File

@@ -10,8 +10,8 @@ var desired = {
app: 'settings'
};
describe("prefs @skip-ios7", function () {
describe("prefs @skip-ios6", function () {
// TODO: cannot install settings app on ios6
describe('settings app', function () {
var driver;
setup(this, desired).then(function (d) { driver = d; });

View File

@@ -10,7 +10,9 @@ var desired = {
app: 'settings'
};
describe("prefs @skip-ios7", function () {
describe("prefs @skip-ios7 @skip-ios6", function () {
// TODO: check why it fails on ios7
// TODO: cannot install settings app on ios6
var checkLocServ = function (driver, expected, cb) {
driver

View File

@@ -1,6 +1,7 @@
"use strict";
var setup = require("../../common/setup-base")
var env = require("../../../helpers/env")
, setup = require("../../common/setup-base")
, chai = require('chai')
, _ = require('underscore');
@@ -10,52 +11,57 @@ var desired = {
browserName: 'safari'
};
describe('safari prefs @skip-ios7', function () {
var checkSafariSetting = require('./check-safari-settings').ios6;
if (env.IOS6) {
describe('safari prefs @skip-ios6', function () {
// TODO: safari does not install on ios6
var checkSafariSetting = require('./check-safari-settings').ios6;
describe('using safariAllowPopups', function () {
var driver;
setup(this, _.defaults({safariAllowPopups: true}, desired))
.then(function (d) { driver = d; });
describe('using safariAllowPopups', function () {
var driver;
setup(this, _.defaults({safariAllowPopups: true}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when true', function (done) {
checkSafariSetting(driver, 'popups', 0, done);
it('should respond to cap when true', function (done) {
checkSafariSetting(driver, 'popups', 0, done);
});
});
describe('using safariAllowPopups', function () {
var driver;
setup(this, _.defaults({safariAllowPopups: false}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when false', function (done) {
checkSafariSetting(driver, 'popups', 1, done);
});
});
});
} else if (env.IOS7) {
describe('safari ios7 prefs @skip-ci', function () {
// TODO modify the test to enable ci, right know it is checking a local file,
// not gonna work with sauce
var checkSafariSetting = require('./check-safari-settings').ios7;
describe('using safariAllowPopups', function () {
var driver;
setup(this, _.defaults({safariAllowPopups: false}, desired))
.then(function (d) { driver = d; });
describe('using safariAllowPopups', function () {
var driver;
setup(this, _.defaults({safariAllowPopups: true}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when false', function (done) {
checkSafariSetting(driver, 'popups', 1, done);
it('should respond to cap when true', function (done) {
checkSafariSetting('WebKitJavaScriptCanOpenWindowsAutomatically', true, done);
});
});
describe('using safariAllowPopups', function () {
var driver;
setup(this, _.defaults({safariAllowPopups: false}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when false', function (done) {
checkSafariSetting('WebKitJavaScriptCanOpenWindowsAutomatically', false, done);
});
});
});
});
}
describe('safari ios7 prefs @skip-ios6 @skip-ci', function () {
// TODO modify the test to enable ci, right know it is checking a local file,
// not gonna work with sauce
var checkSafariSetting = require('./check-safari-settings').ios7;
describe('using safariAllowPopups', function () {
var driver;
setup(this, _.defaults({safariAllowPopups: true}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when true', function (done) {
checkSafariSetting('WebKitJavaScriptCanOpenWindowsAutomatically', true, done);
});
});
describe('using safariAllowPopups', function () {
var driver;
setup(this, _.defaults({safariAllowPopups: false}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when false', function (done) {
checkSafariSetting('WebKitJavaScriptCanOpenWindowsAutomatically', false, done);
});
});
});

View File

@@ -1,6 +1,7 @@
"use strict";
var setup = require("../../common/setup-base")
var env = require("../../../helpers/env")
, setup = require("../../common/setup-base")
, chai = require('chai')
, _ = require('underscore');
@@ -10,52 +11,55 @@ var desired = {
browserName: 'safari'
};
describe('safari prefs @skip-ios7', function () {
var checkSafariSetting = require('./check-safari-settings').ios6;
if (env.IOS6) {
describe('safari prefs @skip-ios6', function () {
// TODO: safari does not install on ios6
var checkSafariSetting = require('./check-safari-settings').ios6;
describe('using safariIgnoreFraudWarning', function () {
var driver;
setup(this, _.defaults({safariIgnoreFraudWarning: true}, desired))
.then(function (d) { driver = d; });
describe('using safariIgnoreFraudWarning', function () {
var driver;
setup(this, _.defaults({safariIgnoreFraudWarning: true}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when true', function (done) {
checkSafariSetting(driver, 'fraud', 0, done);
it('should respond to cap when true', function (done) {
checkSafariSetting(driver, 'fraud', 0, done);
});
});
describe('using safariIgnoreFraudWarning', function () {
var driver;
setup(this, _.defaults({safariIgnoreFraudWarning: false}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when false', function (done) {
checkSafariSetting(driver, 'fraud', 1, done);
});
});
});
} else if (env.IOS7) {
describe('safari ios7 prefs @skip-ci', function () {
// TODO modify the test to enable ci, right know it is checking a local file,
// not gonna work with sauce
var checkSafariSetting = require('./check-safari-settings').ios7;
describe('using safariIgnoreFraudWarning', function () {
var driver;
setup(this, _.defaults({safariIgnoreFraudWarning: false}, desired))
.then(function (d) { driver = d; });
describe('using safariIgnoreFraudWarning', function () {
var driver;
setup(this, _.defaults({safariIgnoreFraudWarning: true}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when false', function (done) {
checkSafariSetting(driver, 'fraud', 1, done);
it('should respond to cap when true', function (done) {
checkSafariSetting('WarnAboutFraudulentWebsites', false, done);
});
});
describe('using safariIgnoreFraudWarning', function () {
var driver;
setup(this, _.defaults({safariIgnoreFraudWarning: false}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when false', function (done) {
checkSafariSetting('WarnAboutFraudulentWebsites', true, done);
});
});
});
});
describe('safari ios7 prefs @skip-ios6 @skip-ci', function () {
// TODO modify the test to enable ci, right know it is checking a local file,
// not gonna work with sauce
var checkSafariSetting = require('./check-safari-settings').ios7;
describe('using safariIgnoreFraudWarning', function () {
var driver;
setup(this, _.defaults({safariIgnoreFraudWarning: true}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when true', function (done) {
checkSafariSetting('WarnAboutFraudulentWebsites', false, done);
});
});
describe('using safariIgnoreFraudWarning', function () {
var driver;
setup(this, _.defaults({safariIgnoreFraudWarning: false}, desired))
.then(function (d) { driver = d; });
it('should respond to cap when false', function (done) {
checkSafariSetting('WarnAboutFraudulentWebsites', true, done);
});
});
});
}

View File

@@ -2,7 +2,7 @@
var setup = require("../../common/setup-base");
describe('safari - screenshots', function () {
describe('safari - screenshots @skip-ios6', function () {
var driver;
setup(this, {browserName: 'safari'}).then(function (d) { driver = d; });

View File

@@ -1,6 +1,6 @@
"use strict";
var desired = require('./desired');
describe("safari - webview", function () {
describe("safari - webview @skip-ios6", function () {
require('../../../common/webview/alerts-base')(desired);
});

View File

@@ -1,6 +1,6 @@
"use strict";
var desired = require('./desired');
describe("safari - webview", function () {
describe("safari - webview @skip-ios6", function () {
require('../../../common/webview/basics-base')(desired);
});

View File

@@ -1,6 +1,6 @@
"use strict";
var desired = require('./desired');
describe("safari - webview", function () {
describe("safari - webview @skip-ios6", function () {
require('../../../common/webview/cookies-base')(desired);
});

View File

@@ -1,6 +1,6 @@
"use strict";
var desired = require('./desired');
describe("safari - webview", function () {
describe("safari - webview @skip-ios6", function () {
require('../../../common/webview/execute-async-base')(desired);
});

View File

@@ -1,6 +1,6 @@
"use strict";
var desired = require('./desired');
describe("safari - webview", function () {
describe("safari - webview @skip-ios6", function () {
require('../../../common/webview/execute-base')(desired);
});

View File

@@ -1,6 +1,6 @@
"use strict";
var desired = require('./desired');
describe("safari - webview", function () {
describe("safari - webview @skip-ios6", function () {
require('../../../common/webview/frames-base')(desired);
});

View File

@@ -1,6 +1,6 @@
"use strict";
var desired = require('./desired');
describe("safari - webview", function () {
describe("safari - webview @skip-ios6", function () {
require('../../../common/webview/iframes-base')(desired);
});

View File

@@ -1,6 +1,6 @@
"use strict";
var desired = require('./desired');
describe("safari - webview", function () {
describe("safari - webview @skip-ios6", function () {
require('../../../common/webview/implicit-wait-base')(desired);
});

View File

@@ -1,6 +1,6 @@
"use strict";
var desired = require('./desired');
describe("safari - webview", function () {
describe("safari - webview @skip-ios6", function () {
require('../../../common/webview/window-title-base')(desired);
});

View File

@@ -5,7 +5,7 @@ var env = require('../../../helpers/env')
, loadWebView = webviewHelper.loadWebView
, spinTitle = webviewHelper.spinTitle;
describe("safari - windows-frame", function () {
describe("safari - windows-frame @skip-ios6", function () {
// TODO: enable safari tests on ci
describe('windows and frames (' + env.DEVICE + ')', function () {
var driver;

View File

@@ -195,7 +195,7 @@ describe('testapp - basic', function () {
}).nodeify(done);
});
it('should be able to get syslog logs', function (done) {
it('should be able to get syslog logs @skip-ios6', function (done) {
driver
.setImplicitWaitTimeout(4000)
.elementByName('SumLabelz')

View File

@@ -35,7 +35,7 @@ describe('testapp - location - 1', function () {
});
});
describe('testapp - location - 2', function () {
describe('testapp - location - 2 @skip-ios6', function () {
var driver;
var newDesired = _.clone(desired);
_.extend(newDesired, {

View File

@@ -98,7 +98,7 @@ describe('webview - basics', function () {
.nodeify(done);
});
it('switching back and forth between native and webview contexts should work', function (done) {
it('switching back and forth between native and webview contexts should work @skip-ios6', function (done) {
driver
.contexts()
.context("WEBVIEW_1")

View File

@@ -1,7 +1,8 @@
"use strict";
var getAppPath = require('../../../helpers/app').getAppPath;
var env = require('../../../helpers/env')
, getAppPath = require('../../../helpers/app').getAppPath;
module.exports = {
app: getAppPath('WebViewApp')
app: env.IOS6 ? "assets/WebViewApp6.1.app.zip" : getAppPath('WebViewApp')
};