- updated new driver 1.5
- updated new appium driver
- ElementExists is removed. Use IsPresent()
- GetElementAttribute() -> GetAttribute()
- added check for existing log directories
- added logging configuration
- update your SpecflowHooks.cs and your App.config for compatibility
<joyride>
<log>
<add name="relativeLogPath" value="\..\..\Logs\" />
<add name="relativeScreenshotPath" value="\..\..\Screenshots\" />
</log>
<capabilities> ... </capabilities>
Update your SpecflowHooks.cs from
[BeforeTestRun]
public static void BeforeTestRun()
{
var projectDir = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;
JoyrideConfiguration.SetWorkingDirectory(projectDir);
var capabilities = JoyrideConfiguration.BundleCapabilities();
var server = JoyrideConfiguration.GetServerUri();
var targetPlatform = JoyrideConfiguration.TargetPlatform;
RemoteMobileDriver.Initialize(server, targetPlatform, capabilities);
}
to
[BeforeTestRun]
public static void BeforeTestRun()
{
var workingDir = Directory.GetCurrentDirectory();
JoyrideConfiguration.SetLogPaths(workingDir);
var capabilities = JoyrideConfiguration.BundleCapabilities();
var server = JoyrideConfiguration.GetServerUri();
var targetPlatform = JoyrideConfiguration.TargetPlatform;
RemoteMobileDriver.Initialize(server, targetPlatform, capabilities);
}
- added drag and drop step
- changed the way config settings is used to intiialize with appium server
- update your SpecflowHooks.cs and your App.config for compatibility moving forward
Add the run element in your joyride settings in your App.config:
<joyride>
<capabilities> ... </capabilities>
<servers>
<add name="dev" value="http://127.0.0.1:4723/wd/hub" />
<add name="ci" value="http://127.0.0.1:4723/wd/hub" />
</servers>
<run>
<add name="server" value="dev" /> <!-- change me to one of your available servers -->
<add name="platform" value="android" /> <!-- either 'android' or 'ios' -->
<add name="device" value="nexus5" /> <!-- change to target device's name -->
</run>
</joyride>
Update your SpecflowHooks.cs from
public const Platform TargetPlatform = Platform.Android; // update either Platform.Android or Platform.Ios
[BeforeTestRun]
public static void BeforeTestRun()
{
var projectDir = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;
JoyrideConfiguration.SetWorkingDirectory(projectDir);
var capabilities = JoyrideConfiguration.BundleCapabilities(TargetPlatform, "nexus5"); // change the device
var server = JoyrideConfiguration.GetServer(); // change the server. default is "dev"
RemoteMobileDriver.Initialize(server, TargetPlatform, capabilities);
}
to
[BeforeTestRun]
public static void BeforeTestRun()
{
var projectDir = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;
JoyrideConfiguration.SetWorkingDirectory(projectDir);
var capabilities = JoyrideConfiguration.BundleCapabilities();
var server = JoyrideConfiguration.GetServerUri();
var targetPlatform = JoyrideConfiguration.TargetPlatform;
RemoteMobileDriver.Initialize(server, targetPlatform, capabilities);
}
- added step for hasLabel on ios
- added page indicator step
- moved a step for getting attributes in collection on ios to be deprecated
- added element disable / enabled step
- added clear text step
- added scroll screen x times step
- verifying element text step can be now use curly braces
- added slowly scroll screen
- removed unused steps; old steps are tagged with deprecated
- verifying element text step can be now use curly braces
- added slowly scroll screen
- removed unused steps; old steps are tagged with deprecated
- replaced a Then step on verifying element text
- updated collection steps for better readability of plural/singular items
- added Then steps to verify elements from a table
- updated default ios title and body text for modal dialogs
- added symbols with package
- modified IGesture and added swiping elements
- moved starter project files into separate package: Joyride.Starter
- joyride.specflow now only contains the assembly. If you are upgrading, backup your app.config file. Moving forward you can simply upgrade without your config files being affected
- added steps to swipe elements and pull down screen
- added EnterTextBySetValue for iOS if you do not wish to use sendKeyStrategy with setValue strategy as the default
- added more negation steps
- Initial release