Skip to content

Commit 4e7a038

Browse files
Update of C# samples
1 parent f461e88 commit 4e7a038

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1921
-1274
lines changed
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
using Appium.Samples.Helpers;
2+
using NUnit.Framework;
3+
using OpenQA.Selenium.Appium;
4+
using OpenQA.Selenium.Appium.Android;
5+
using OpenQA.Selenium.Remote;
6+
using System;
7+
using System.Diagnostics;
8+
using System.Diagnostics.Contracts;
9+
10+
namespace Appium.Samples.Android
11+
{
12+
[TestFixture]
13+
public class AndroidActivityTest
14+
{
15+
private AndroidDriver<AppiumWebElement> driver;
16+
17+
[TestFixtureSetUp]
18+
public void BeforeAll()
19+
{
20+
DesiredCapabilities capabilities = Env.isSauce() ?
21+
Caps.getAndroid501Caps(Apps.get("androidApiDemos")) :
22+
Caps.getAndroid19Caps(Apps.get("androidApiDemos"));
23+
if (Env.isSauce())
24+
{
25+
capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME"));
26+
capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
27+
capabilities.SetCapability("name", "android - complex");
28+
capabilities.SetCapability("tags", new string[] { "sample" });
29+
}
30+
Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIAndroid;
31+
driver = new AndroidDriver<AppiumWebElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
32+
driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
33+
driver.CloseApp();
34+
}
35+
36+
[SetUp]
37+
public void SetUp()
38+
{
39+
if (driver != null)
40+
{
41+
driver.LaunchApp();
42+
}
43+
}
44+
45+
[TearDown]
46+
public void TearDowwn()
47+
{
48+
if (driver != null)
49+
{
50+
driver.CloseApp();
51+
}
52+
}
53+
54+
[Test]
55+
public void StartActivityInThisAppTestCase()
56+
{
57+
driver.StartActivity("io.appium.android.apis", ".ApiDemos");
58+
59+
Assert.AreEqual(driver.CurrentActivity, ".ApiDemos");
60+
61+
driver.StartActivity("io.appium.android.apis", ".accessibility.AccessibilityNodeProviderActivity");
62+
63+
Assert.AreEqual(driver.CurrentActivity, ".accessibility.AccessibilityNodeProviderActivity");
64+
}
65+
66+
[Test]
67+
public void StartActivityWithWaitingAppTestCase()
68+
{
69+
driver.StartActivity("io.appium.android.apis", ".ApiDemos", "io.appium.android.apis", ".ApiDemos");
70+
71+
Assert.AreEqual(driver.CurrentActivity, ".ApiDemos");
72+
73+
driver.StartActivity("io.appium.android.apis", ".accessibility.AccessibilityNodeProviderActivity",
74+
"io.appium.android.apis", ".accessibility.AccessibilityNodeProviderActivity");
75+
76+
Assert.AreEqual(driver.CurrentActivity, ".accessibility.AccessibilityNodeProviderActivity");
77+
}
78+
79+
[Test]
80+
public void StartActivityInNewAppTestCase()
81+
{
82+
driver.StartActivity("io.appium.android.apis", ".ApiDemos");
83+
84+
Assert.AreEqual(driver.CurrentActivity, ".ApiDemos");
85+
86+
driver.StartActivity("com.android.contacts", ".ContactsListActivity");
87+
88+
Assert.AreEqual(driver.CurrentActivity, ".ContactsListActivity");
89+
driver.KeyEvent(AndroidKeyCode.Back);
90+
Assert.AreEqual(driver.CurrentActivity, ".ContactsListActivity");
91+
}
92+
93+
[Test]
94+
public void StartActivityInNewAppTestCaseWithoutClosingApp()
95+
{
96+
driver.StartActivity("io.appium.android.apis", ".accessibility.AccessibilityNodeProviderActivity");
97+
98+
Assert.AreEqual(driver.CurrentActivity, ".accessibility.AccessibilityNodeProviderActivity");
99+
100+
driver.StartActivity("com.android.contacts", ".ContactsListActivity", "com.android.contacts", ".ContactsListActivity", false);
101+
102+
Assert.AreEqual(driver.CurrentActivity, ".ContactsListActivity");
103+
driver.KeyEvent(AndroidKeyCode.Back);
104+
Assert.AreEqual(driver.CurrentActivity, ".accessibility.AccessibilityNodeProviderActivity");
105+
106+
}
107+
108+
[TestFixtureTearDown]
109+
public void AfterAll()
110+
{
111+
if (driver != null)
112+
{
113+
driver.Quit();
114+
}
115+
if (!Env.isSauce())
116+
{
117+
AppiumServers.StopLocalService();
118+
}
119+
}
120+
}
121+
}

sample-code/examples/dotnet/AppiumDotNetSample/AndroidConnectionTest.cs renamed to sample-code/examples/dotnet/AppiumDotNetSample/Android/AndroidConnectionTest.cs

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,18 @@
66
using OpenQA.Selenium.Remote;
77
using System;
88

9-
namespace Appium.Samples
9+
namespace Appium.Samples.Android
1010
{
1111
[TestFixture()]
1212
class AndroidConnectionTest
1313
{
1414
private AppiumDriver<IWebElement> driver;
15-
private bool allPassed = true;
1615

1716
[TestFixtureSetUp]
1817
public void BeforeAll()
1918
{
2019
DesiredCapabilities capabilities = Env.isSauce() ?
21-
Caps.getAndroid18Caps(Apps.get("androidApiDemos")) :
20+
Caps.getAndroid501Caps(Apps.get("androidApiDemos")) :
2221
Caps.getAndroid19Caps(Apps.get("androidApiDemos"));
2322
if (Env.isSauce())
2423
{
@@ -27,39 +26,32 @@ public void BeforeAll()
2726
capabilities.SetCapability("name", "android - complex");
2827
capabilities.SetCapability("tags", new string[] { "sample" });
2928
}
30-
Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.localURI;
29+
Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIAndroid;
3130
driver = new AndroidDriver<IWebElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
3231
driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
3332
}
3433

3534
[TestFixtureTearDown]
3635
public void AfterAll()
3736
{
38-
try
37+
if (driver != null)
3938
{
40-
if (Env.isSauce())
41-
((IJavaScriptExecutor)driver).ExecuteScript("sauce:job-result=" + (allPassed ? "passed" : "failed"));
39+
driver.Quit();
4240
}
43-
finally
41+
if (!Env.isSauce())
4442
{
45-
driver.Quit();
43+
AppiumServers.StopLocalService();
4644
}
4745
}
4846

49-
[TearDown]
50-
public void AfterEach()
51-
{
52-
allPassed = allPassed && (TestContext.CurrentContext.Result.State == TestState.Success);
53-
}
54-
5547
[Test]
5648
public void ConnectionTest()
5749
{
5850
((AndroidDriver<IWebElement>)driver).ConnectionType = ConnectionType.AirplaneMode;
5951
Assert.AreEqual(ConnectionType.AirplaneMode, ((AndroidDriver<IWebElement>)driver).ConnectionType);
6052

61-
((AndroidDriver<IWebElement>)driver).ConnectionType = ConnectionType.WifiOnly;
62-
Assert.AreEqual(ConnectionType.WifiOnly, ((AndroidDriver<IWebElement>)driver).ConnectionType);
53+
((AndroidDriver<IWebElement>)driver).ConnectionType = ConnectionType.AllNetworkOn;
54+
Assert.AreEqual(ConnectionType.AllNetworkOn, ((AndroidDriver<IWebElement>)driver).ConnectionType);
6355
}
6456
}
6557
}
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
using Appium.Samples.Helpers;
2+
using NUnit.Framework;
3+
using OpenQA.Selenium;
4+
using OpenQA.Selenium.Appium;
5+
using OpenQA.Selenium.Appium.Android;
6+
using OpenQA.Selenium.Remote;
7+
using System;
8+
9+
namespace Appium.Samples.Android
10+
{
11+
public class AndroidElementTest
12+
{
13+
private AndroidDriver<AndroidElement> driver;
14+
15+
[TestFixtureSetUp]
16+
public void BeforeAll()
17+
{
18+
DesiredCapabilities capabilities = Env.isSauce() ?
19+
Caps.getAndroid501Caps(Apps.get("androidApiDemos")) :
20+
Caps.getAndroid19Caps(Apps.get("androidApiDemos"));
21+
if (Env.isSauce())
22+
{
23+
capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME"));
24+
capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
25+
capabilities.SetCapability("name", "android - simple");
26+
capabilities.SetCapability("tags", new string[] { "sample" });
27+
}
28+
Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIAndroid;
29+
driver = new AndroidDriver<AndroidElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
30+
driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
31+
driver.CloseApp();
32+
}
33+
34+
[SetUp]
35+
public void SetUp()
36+
{
37+
if (driver != null)
38+
{
39+
driver.LaunchApp();
40+
}
41+
}
42+
43+
[TearDown]
44+
public void TearDowwn()
45+
{
46+
if (driver != null)
47+
{
48+
driver.CloseApp();
49+
}
50+
}
51+
52+
[Test()]
53+
public void FindByAccessibilityIdTest()
54+
{
55+
By byAccessibilityId = new ByAccessibilityId("Graphics");
56+
Assert.AreNotEqual(driver.FindElementById("android:id/content").FindElement(byAccessibilityId).Text, null);
57+
Assert.GreaterOrEqual(driver.FindElementById("android:id/content").FindElements(byAccessibilityId).Count, 1);
58+
}
59+
60+
[Test()]
61+
public void FindByAndroidUIAutomatorTest()
62+
{
63+
By byAndroidUIAutomator = new ByAndroidUIAutomator("new UiSelector().clickable(true)");
64+
Assert.IsNotNull(driver.FindElementById("android:id/content").FindElement(byAndroidUIAutomator).Text);
65+
Assert.GreaterOrEqual(driver.FindElementById("android:id/content").FindElements(byAndroidUIAutomator).Count, 1);
66+
}
67+
68+
[Test]
69+
public void ReplaceValueTest()
70+
{
71+
String originalValue = "original value";
72+
String replacedValue = "replaced value";
73+
74+
driver.StartActivity("io.appium.android.apis", ".view.Controls1");
75+
76+
AndroidElement editElement = driver.FindElementByAndroidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")");
77+
78+
editElement.SendKeys(originalValue);
79+
80+
Assert.AreEqual(originalValue, editElement.Text);
81+
82+
editElement.ReplaceValue(replacedValue);
83+
84+
Assert.AreEqual(replacedValue, editElement.Text);
85+
}
86+
87+
[TestFixtureTearDown]
88+
public void AfterAll()
89+
{
90+
if (driver != null)
91+
{
92+
driver.Quit();
93+
}
94+
if (!Env.isSauce())
95+
{
96+
AppiumServers.StopLocalService();
97+
}
98+
}
99+
100+
}
101+
}

0 commit comments

Comments
 (0)