README.md in rufus-0.3 vs README.md in rufus-0.4

- old
+ new

@@ -1,8 +1,8 @@ -Last Updated: 9-25-2013 +Last Updated: 10-03-2013 -This project is intended to facilitate automated testing on iOS devices using cucumber and the Page Object pattern. +This project is intended to facilitate automated testing on iOS devices using cucumber, appium and the Page Object pattern. PREREQUISITES -------------------------- -Ruby @@ -29,33 +29,37 @@ ------------------------------ - gem install rufus - require 'rufus' in your Gemfile - Create a config.yml in project directory (the one with .xcodeproj in it) with the following information: + ````YAML browser: iOS platform: Mac version: 7.0 app:$HOME/Library/Developer/Xcode/DerivedData/<UNIQUE>/Build/Products/Debug-iphoneos/YourApp.app + use_physical: true #run on physical device? + sim_app_path: $HOME/Library/Developer/Xcode/DerivedData/<UNIQUE>/Build/Products/Debug-iphonesimulator/YourApp.app + device: iPhoneSimulator ```` - Start appium server in new terminal window ->appium -U DEVICE_UDID --app YourApp.app +>appium -U DEVICE_UDID --app YourApp.app --native-instruments-lib #omit -U option for simulator -- Deploy to iOS device using XCode or libimobiledevice. Libimobiledevice repo located at: https://github.com/benvium/libimobiledevice-macosx +- Deploy to iOS device or simulator using XCode or libimobiledevice. Libimobiledevice repo located at: https://github.com/benvium/libimobiledevice-macosx - Run tests >bundle exec cucumber USING THE RUFUS IRB DRIVER -------------------------- -After installing the gem, open an irb session from the same directory as your config.yml. +After installing the gem and starting the appium server, open an irb session from the same directory as your config.yml. ````ruby require 'rufus/driver' - driver = Rufus.new + driver = Rufus::Driver.new driver.start (starts the app) ```` DEFINING A BUTTON SEQUENCE -------------------------- @@ -88,10 +92,10 @@ ```` DEPLOYING TO DEVICE WITHOUT USING XCODE ---------------------------------------------------------------------- -Rufus doesn't necessarily care how your app made it onto the device as long as selenium can see it, but I found the most consistent method to be through libimobiledevice. That project also is included as a submodule to this one. The original repository is https://github.com/benvium/libimobiledevice-macosx. Look at the libimobiledevice Readme in order to configure the environment variables your system needs to use this deployment mechanism. +I found the most consistent method to be through libimobiledevice. That project also is included as a submodule to this one. The original repository is https://github.com/benvium/libimobiledevice-macosx. Look at the libimobiledevice Readme in order to configure the environment variables your system needs to use this deployment mechanism. The only gotcha I ran into was generating the .ipa archive that libimobiledevice uses. Take the following steps to generate the .ipa archive. 1. Build the app for deployment to device 2. Navigate to the .app file that should be found in the ../Debug-iphoneos/ directory