Confused on deviceName/platformName when connecting to iOS Simulator

/1st post/

I’m having trouble getting appium to wok on the iOS Simulator. I have my test already running on a real Android device (Nexus 5, 4.4.4) and wanted to move onto beginning with iOS. I believe that I have my capabilities set up correctly, however every time I try to run my simple login.js test I get the following:

warn: Converting cap capabilities to string, since it was an object. This might be a user error. Original value was: {“browserName”:“Safari”,“platformName”:“iOS”,“platformVersion”:“8.1”,“deviceName”:“iPhone 5”,“autoAcceptAlerts”:true}

error: Could not determine your device from Appium arguments or desired capabilities. Please make sure to specify the ‘deviceName’ and ‘platformName’ capabilities

I have the simulator, xCode, and Safari all open and running during the test.

My capabilities are set as:

var capabilities = {
browserName: ‘Safari’,
platformName: ‘iOS’,
platformVersion: ‘8.1’,
deviceName: ‘iPhone 5’,
autoAcceptAlerts: true
};

When I open the iOS Simulator, the text across the top reads “iOS Simulator - iPhone 5 - iPhone 5 / iOS 8.1 (12B411)”

I’ve tried changing the deviceName to several different things: iPhone Simulator, iOS Simulator, iPhone 5, iOS Simulator - iPhone 5… all with no change.

I really hope I’m missing something simple and would really appreciate another set of eyes on this.

Thanks!
Dave

Bump. Anyone have any ideas?

I figured it out. I was incorrectly exporting my capabilities module from capabilities.js into my test.js file.

I originally had:

var capabilities = {
platformName: ‘iOS’,
platformVersion: ‘8.1’,
browserName: ‘Safari’,
deviceName: ‘iPhone 5’,
autoAcceptAlerts: true
};

exports.capabilities = capabilities;

Then realized it was incorrect by printing it to the log before test execution.

I simply changed the way it was exported:

<code>var capabilities = {
	platformName: 'iOS',
	platformVersion: '8.1',
	browserName: 'Safari',
	deviceName: 'iPhone 5',
	autoAcceptAlerts: true
};

module.exports= capabilities;</code>

Dave