Skip to content

Commit 940fd06

Browse files
authored
chore: Deprecate legacy app management helpers (#608)
* chore: Deprecate legacy app management helpers * chore: add link and clearer info on the Obsolete message
1 parent c1ae724 commit 940fd06

File tree

5 files changed

+37
-13
lines changed

5 files changed

+37
-13
lines changed

src/Appium.Net/Appium/AppiumCommand.cs

+6-2
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,18 @@ public class AppiumCommand
114114
"/session/{sessionId}/appium/getPerformanceData"),
115115
new AppiumCommand(HttpCommandInfo.PostCommand, AppiumDriverCommand.GetPerformanceDataTypes,
116116
"/session/{sessionId}/appium/performanceData/types"),
117+
118+
#region (Deprecated) legacy app management
119+
117120
new AppiumCommand(HttpCommandInfo.PostCommand, AppiumDriverCommand.LaunchApp,
118121
"/session/{sessionId}/appium/app/launch"),
119122
new AppiumCommand(HttpCommandInfo.PostCommand, AppiumDriverCommand.CloseApp,
120123
"/session/{sessionId}/appium/app/close"),
121124
new AppiumCommand(HttpCommandInfo.PostCommand, AppiumDriverCommand.ResetApp,
122125
"/session/{sessionId}/appium/app/reset"),
126+
127+
#endregion (Deprecated) legacy app management
128+
123129
new AppiumCommand(HttpCommandInfo.PostCommand, AppiumDriverCommand.BackgroundApp,
124130
"/session/{sessionId}/appium/app/background"),
125131
new AppiumCommand(HttpCommandInfo.PostCommand, AppiumDriverCommand.EndTestCoverage,
@@ -144,8 +150,6 @@ public class AppiumCommand
144150
"/session/{sessionId}/appium/device/finger_print"),
145151

146152
#endregion Driver Commands
147-
148-
149153

150154
#region (Deprecated) Touch Commands
151155
// TODO: Remove this region once we deprecate the touch actions

src/Appium.Net/Appium/AppiumDriver.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,11 @@ public void PushFile(string pathOnDevice, byte[] base64Data) =>
178178
public void PushFile(string pathOnDevice, FileInfo file) =>
179179
AppiumCommandExecutionHelper.PushFile(this, pathOnDevice, file);
180180

181+
[Obsolete("The LaunchApp API is deprecated and will be removed in future versions. Please use ActivateApp instead \r\n See https://github.com/appium/appium/issues/15807")]
181182
public void LaunchApp() => ((IExecuteMethod)this).Execute(AppiumDriverCommand.LaunchApp);
182-
183+
[Obsolete("The CloseApp API is deprecated and will be removed in future versions. Please use TerminateApp instead \r\n See https://github.com/appium/appium/issues/15807")]
183184
public void CloseApp() => ((IExecuteMethod)this).Execute(AppiumDriverCommand.CloseApp);
184-
185+
[Obsolete("The ResetApp API is deprecated and will be removed in future versions. Please use TerminateApp & ActivateApp instead \r\n See https://github.com/appium/appium/issues/15807")]
185186
public void ResetApp() => ((IExecuteMethod)this).Execute(AppiumDriverCommand.ResetApp);
186187

187188
public void FingerPrint(int fingerprintId) =>

src/Appium.Net/Appium/AppiumDriverCommand.cs

+4
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ public class AppiumDriverCommand
143143
/// </summary>
144144
public const string ToggleLocationServices = "toggleLocationServices";
145145

146+
#region (Deprecated) legacy app management
147+
146148
/// <summary>
147149
/// Launch App Command.
148150
/// </summary>
@@ -158,6 +160,8 @@ public class AppiumDriverCommand
158160
/// </summary>
159161
public const string ResetApp = "resetApp";
160162

163+
#endregion (Deprecated) legacy app management
164+
161165
/// <summary>
162166
/// Background App Command.
163167
/// </summary>

src/Appium.Net/Appium/Windows/WindowsDriver.cs

+14
Original file line numberDiff line numberDiff line change
@@ -141,5 +141,19 @@ public void PressKeyCode(int keyCode, int metastate = -1) =>
141141

142142
public void LongPressKeyCode(int keyCode, int metastate = -1) =>
143143
AppiumCommandExecutionHelper.LongPressKeyCode(this, keyCode, metastate);
144+
145+
#region App management
146+
147+
public new void LaunchApp()
148+
{
149+
((IExecuteMethod)this).Execute(AppiumDriverCommand.LaunchApp);
150+
}
151+
152+
public new void CloseApp()
153+
{
154+
((IExecuteMethod)this).Execute(AppiumDriverCommand.CloseApp);
155+
}
156+
157+
#endregion App management
144158
}
145159
}

test/integration/Android/ActivityTest.cs

+10-9
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public class ActivityTest
99
{
1010
private AndroidDriver _driver;
1111
private const string ContactsActivity = ".activities.PeopleActivity";
12+
private const string AppId = "io.appium.android.apis";
1213

1314
[OneTimeSetUp]
1415
public void BeforeAll()
@@ -20,41 +21,41 @@ public void BeforeAll()
2021
var serverUri = Env.ServerIsRemote() ? AppiumServers.RemoteServerUri : AppiumServers.LocalServiceUri;
2122
_driver = new AndroidDriver(serverUri, capabilities, Env.InitTimeoutSec);
2223
_driver.Manage().Timeouts().ImplicitWait = Env.ImplicitTimeoutSec;
23-
_driver.CloseApp();
24+
_driver.TerminateApp(AppId);
2425
}
2526

2627
[SetUp]
2728
public void SetUp()
2829
{
29-
_driver?.LaunchApp();
30+
_driver?.ActivateApp(AppId);
3031
}
3132

3233
[TearDown]
3334
public void TearDowwn()
3435
{
35-
_driver?.CloseApp();
36+
_driver.TerminateApp(AppId);
3637
}
3738

3839
[Test]
3940
public void StartActivityInThisAppTestCase()
4041
{
41-
_driver.StartActivity("io.appium.android.apis", ".ApiDemos");
42+
_driver.StartActivity(AppId, ".ApiDemos");
4243

4344
Assert.AreEqual(_driver.CurrentActivity, ".ApiDemos");
4445

45-
_driver.StartActivity("io.appium.android.apis", ".accessibility.AccessibilityNodeProviderActivity");
46+
_driver.StartActivity(AppId, ".accessibility.AccessibilityNodeProviderActivity");
4647

4748
Assert.AreEqual(_driver.CurrentActivity, ".accessibility.AccessibilityNodeProviderActivity");
4849
}
4950

5051
[Test]
5152
public void StartActivityWithWaitingAppTestCase()
5253
{
53-
_driver.StartActivity("io.appium.android.apis", ".ApiDemos", "io.appium.android.apis", ".ApiDemos");
54+
_driver.StartActivity(AppId, ".ApiDemos", AppId, ".ApiDemos");
5455

5556
Assert.AreEqual(_driver.CurrentActivity, ".ApiDemos");
5657

57-
_driver.StartActivity("io.appium.android.apis", ".accessibility.AccessibilityNodeProviderActivity",
58+
_driver.StartActivity(AppId, ".accessibility.AccessibilityNodeProviderActivity",
5859
"io.appium.android.apis", ".accessibility.AccessibilityNodeProviderActivity");
5960

6061
Assert.AreEqual(_driver.CurrentActivity, ".accessibility.AccessibilityNodeProviderActivity");
@@ -63,7 +64,7 @@ public void StartActivityWithWaitingAppTestCase()
6364
[Test]
6465
public void StartActivityInNewAppTestCase()
6566
{
66-
_driver.StartActivity("io.appium.android.apis", ".ApiDemos");
67+
_driver.StartActivity(AppId, ".ApiDemos");
6768

6869
Assert.AreEqual(_driver.CurrentActivity, ".ApiDemos");
6970

@@ -77,7 +78,7 @@ public void StartActivityInNewAppTestCase()
7778
[Test]
7879
public void StartActivityInNewAppTestCaseWithoutClosingApp()
7980
{
80-
_driver.StartActivity("io.appium.android.apis", ".accessibility.AccessibilityNodeProviderActivity");
81+
_driver.StartActivity(AppId, ".accessibility.AccessibilityNodeProviderActivity");
8182

8283
Assert.AreEqual(_driver.CurrentActivity, ".accessibility.AccessibilityNodeProviderActivity");
8384

0 commit comments

Comments
 (0)