Skip to content

Commit 87d6de9

Browse files
Update to C# client 2.0.0.1
- Update to .NET framework v4.5 - update of dependencies - code samples were updated
1 parent 2908a55 commit 87d6de9

35 files changed

Lines changed: 935 additions & 269 deletions

sample-code/examples/dotnet/AppiumDotNetSample/Android/AndroidActivityTest.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
using OpenQA.Selenium.Appium.Android;
55
using OpenQA.Selenium.Remote;
66
using System;
7-
using System.Diagnostics;
8-
using System.Diagnostics.Contracts;
97

108
namespace Appium.Samples.Android
119
{
@@ -86,7 +84,7 @@ public void StartActivityInNewAppTestCase()
8684
driver.StartActivity("com.android.contacts", ".ContactsListActivity");
8785

8886
Assert.AreEqual(driver.CurrentActivity, ".ContactsListActivity");
89-
driver.KeyEvent(AndroidKeyCode.Back);
87+
driver.PressKeyCode(AndroidKeyCode.Back);
9088
Assert.AreEqual(driver.CurrentActivity, ".ContactsListActivity");
9189
}
9290

@@ -100,7 +98,7 @@ public void StartActivityInNewAppTestCaseWithoutClosingApp()
10098
driver.StartActivity("com.android.contacts", ".ContactsListActivity", "com.android.contacts", ".ContactsListActivity", false);
10199

102100
Assert.AreEqual(driver.CurrentActivity, ".ContactsListActivity");
103-
driver.KeyEvent(AndroidKeyCode.Back);
101+
driver.PressKeyCode(AndroidKeyCode.Back);
104102
Assert.AreEqual(driver.CurrentActivity, ".accessibility.AccessibilityNodeProviderActivity");
105103

106104
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
using System;
2+
using OpenQA.Selenium.Appium;
3+
using OpenQA.Selenium;
4+
using NUnit.Framework;
5+
using OpenQA.Selenium.Remote;
6+
using OpenQA.Selenium.Appium.Android;
7+
using Appium.Samples.Helpers;
8+
9+
namespace Appium.Samples.Android
10+
{
11+
[TestFixture]
12+
public class AndroidAppStringsTest
13+
{
14+
private AppiumDriver<IWebElement> driver;
15+
16+
[TestFixtureSetUp]
17+
public void BeforeAll()
18+
{
19+
DesiredCapabilities capabilities = Env.isSauce() ?
20+
Caps.getAndroid501Caps(Apps.get("androidApiDemos")) :
21+
Caps.getAndroid19Caps(Apps.get("androidApiDemos"));
22+
if (Env.isSauce())
23+
{
24+
capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME"));
25+
capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
26+
capabilities.SetCapability("name", "android - complex");
27+
capabilities.SetCapability("tags", new string[] { "sample" });
28+
}
29+
Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIAndroid;
30+
driver = new AndroidDriver<IWebElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
31+
driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
32+
}
33+
34+
[TestFixtureTearDown]
35+
public void AfterAll()
36+
{
37+
if (driver != null)
38+
{
39+
driver.Quit();
40+
}
41+
if (!Env.isSauce())
42+
{
43+
AppiumServers.StopLocalService();
44+
}
45+
}
46+
47+
[Test]
48+
public void GetAppStrings() {
49+
Assert.AreNotSame(0, driver.GetAppStringDictionary ().Count);
50+
}
51+
52+
[Test]
53+
public void GetAppStringsUsingLang() {
54+
Assert.AreNotSame(0, driver.GetAppStringDictionary ("en").Count);
55+
}
56+
}
57+
}
58+

sample-code/examples/dotnet/AppiumDotNetSample/Android/AndroidElementTest.cs

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,12 @@ public void BeforeAll()
2828
Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIAndroid;
2929
driver = new AndroidDriver<AndroidElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
3030
driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
31-
driver.CloseApp();
3231
}
3332

3433
[SetUp]
3534
public void SetUp()
3635
{
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-
}
36+
driver.StartActivity("io.appium.android.apis", ".ApiDemos");
5037
}
5138

5239
[Test()]
@@ -68,8 +55,8 @@ public void FindByAndroidUIAutomatorTest()
6855
[Test]
6956
public void ReplaceValueTest()
7057
{
71-
String originalValue = "original value";
72-
String replacedValue = "replaced value";
58+
string originalValue = "original value";
59+
string replacedValue = "replaced value";
7360

7461
driver.StartActivity("io.appium.android.apis", ".view.Controls1");
7562

@@ -84,6 +71,31 @@ public void ReplaceValueTest()
8471
Assert.AreEqual(replacedValue, editElement.Text);
8572
}
8673

74+
[Test]
75+
public void SetImmediateValueTest()
76+
{
77+
string value = "new value";
78+
79+
driver.StartActivity("io.appium.android.apis", ".view.Controls1");
80+
81+
AndroidElement editElement = driver.FindElementByAndroidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")");
82+
83+
editElement.SetImmediateValue(value);
84+
85+
Assert.AreEqual(value, editElement.Text);
86+
}
87+
88+
[Test]
89+
public void ScrollingToSubElement()
90+
{
91+
driver.FindElementByAccessibilityId("Views").Click();
92+
AndroidElement list = driver.FindElement(By.Id("android:id/list"));
93+
var locator = new ByAndroidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView("
94+
+ "new UiSelector().text(\"Radio Group\"));");
95+
AppiumWebElement radioGroup = list.FindElement(locator);
96+
Assert.NotNull(radioGroup.Location);
97+
}
98+
8799
[TestFixtureTearDown]
88100
public void AfterAll()
89101
{
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
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+
8+
namespace Appium.Samples.Android
9+
{
10+
class AndroidEmulatorDeviceTime
11+
{
12+
private AppiumDriver<AndroidElement> driver;
13+
14+
[SetUp]
15+
public void BeforeAll()
16+
{
17+
DesiredCapabilities capabilities = Env.isSauce() ?
18+
Caps.getAndroid501Caps(Apps.get("androidApiDemos")) :
19+
Caps.getAndroid19Caps(Apps.get("androidApiDemos"));
20+
if (Env.isSauce())
21+
{
22+
capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME"));
23+
capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
24+
capabilities.SetCapability("name", "android - complex");
25+
capabilities.SetCapability("tags", new string[] { "sample" });
26+
}
27+
Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIAndroid;
28+
driver = new AndroidDriver<AndroidElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
29+
driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
30+
}
31+
32+
[TearDown]
33+
public void AfterEach()
34+
{
35+
if (driver != null)
36+
{
37+
driver.Quit();
38+
}
39+
if (!Env.isSauce())
40+
{
41+
AppiumServers.StopLocalService();
42+
}
43+
}
44+
45+
[Test()]
46+
public void DeviceTimeTest()
47+
{
48+
string time = driver.DeviceTime;
49+
Console.WriteLine(time);
50+
Assert.AreEqual(true, time.Length == 28);
51+
}
52+
53+
}
54+
}
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
using Appium.Samples.Helpers;
2+
using NUnit.Framework;
3+
using OpenQA.Selenium.Appium.Android;
4+
using OpenQA.Selenium.Appium.Android.Enums;
5+
using OpenQA.Selenium.Remote;
6+
using System;
7+
8+
namespace Appium.Samples.Android
9+
{
10+
class AndroidKeyPressTest
11+
{
12+
private AndroidDriver<AndroidElement> driver;
13+
14+
[TestFixtureSetUp]
15+
public void BeforeAll()
16+
{
17+
DesiredCapabilities capabilities = Env.isSauce() ?
18+
Caps.getAndroid501Caps(Apps.get("androidApiDemos")) :
19+
Caps.getAndroid19Caps(Apps.get("androidApiDemos"));
20+
if (Env.isSauce())
21+
{
22+
capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME"));
23+
capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
24+
capabilities.SetCapability("name", "android - simple");
25+
capabilities.SetCapability("tags", new string[] { "sample" });
26+
}
27+
Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIAndroid;
28+
driver = new AndroidDriver<AndroidElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
29+
driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
30+
}
31+
32+
[SetUp]
33+
public void SetUp()
34+
{
35+
if (driver != null)
36+
{
37+
driver.ResetApp();
38+
}
39+
}
40+
41+
[TestFixtureTearDown]
42+
public void AfterAll()
43+
{
44+
if (driver != null)
45+
{
46+
driver.Quit();
47+
}
48+
if (!Env.isSauce())
49+
{
50+
AppiumServers.StopLocalService();
51+
}
52+
}
53+
54+
[Test]
55+
public void PressKeyCodeTest()
56+
{
57+
driver.PressKeyCode(AndroidKeyCode.Home);
58+
}
59+
60+
[Test]
61+
public void PressKeyCodeWithMetastateTest()
62+
{
63+
driver.PressKeyCode(AndroidKeyCode.Space, AndroidKeyMetastate.Meta_Shift_On);
64+
}
65+
66+
[Test]
67+
public void LongPressKeyCodeTest()
68+
{
69+
driver.LongPressKeyCode(AndroidKeyCode.Home);
70+
}
71+
72+
[Test]
73+
public void LongPressKeyCodeWithMetastateTest()
74+
{
75+
driver.LongPressKeyCode(AndroidKeyCode.Space, AndroidKeyMetastate.Meta_Shift_On);
76+
}
77+
}
78+
}

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

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
using Appium.Samples.Helpers;
22
using NUnit.Framework;
3-
using OpenQA.Selenium.Appium;
43
using OpenQA.Selenium.Appium.Android;
54
using OpenQA.Selenium.Remote;
65
using System;
76

87
namespace Appium.Samples.Android
98
{
10-
public class AndroidScrollTest
9+
class AndroidLockDeviceTest
1110
{
1211
private AndroidDriver<AndroidElement> driver;
1312

14-
[TestFixtureSetUp]
13+
[SetUp]
1514
public void BeforeAll()
1615
{
1716
DesiredCapabilities capabilities = Env.isSauce() ?
@@ -29,8 +28,8 @@ public void BeforeAll()
2928
driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
3029
}
3130

32-
[TestFixtureTearDown]
33-
public void AfterAll()
31+
[TearDown]
32+
public void AfterEach()
3433
{
3534
if (driver != null)
3635
{
@@ -43,27 +42,12 @@ public void AfterAll()
4342
}
4443

4544
[Test()]
46-
public void ScrollToTestCase()
45+
public void LockTest()
4746
{
48-
Assert.NotNull(driver.ScrollTo("View"));
49-
}
50-
51-
[Test()]
52-
public void ScrollToExactTestCase()
53-
{
54-
Assert.NotNull(driver.ScrollToExact("Views"));
55-
}
56-
57-
[Test()]
58-
public void ScrollToUsingResourceIdTestCase()
59-
{
60-
Assert.NotNull(driver.ScrollTo("View", "android: id / list"));
61-
}
62-
63-
[Test()]
64-
public void ScrollToExactUsingResourceIdTestCase()
65-
{
66-
Assert.NotNull(driver.ScrollToExact("Views", "android:id/list"));
47+
driver.Lock();
48+
Assert.AreEqual(true, driver.IsLocked());
49+
driver.Unlock();
50+
Assert.AreEqual(false, driver.IsLocked());
6751
}
6852
}
6953
}

sample-code/examples/dotnet/AppiumDotNetSample/Android/AndroidSearchingTest.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ public void BeforeAll(){
2929
driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
3030
}
3131

32+
[SetUp]
33+
public void SetUp()
34+
{
35+
driver.StartActivity("io.appium.android.apis", ".ApiDemos");
36+
}
37+
3238
[TestFixtureTearDown]
3339
public void AfterAll(){
3440
if (driver != null)
@@ -64,6 +70,17 @@ public void FindByXPathTest()
6470
Assert.IsNotNull(driver.FindElementByXPath(byXPath).Text);
6571
Assert.AreEqual(driver.FindElementsByXPath(byXPath).Count, 1);
6672
}
67-
}
73+
74+
[Test]
75+
public void FindScrollable()
76+
{
77+
driver.FindElementByAccessibilityId("Views").Click();
78+
AndroidElement radioGroup = driver
79+
.FindElementByAndroidUIAutomator("new UiScrollable(new UiSelector()"
80+
+ ".resourceId(\"android:id/list\")).scrollIntoView("
81+
+ "new UiSelector().text(\"Radio Group\"));");
82+
Assert.NotNull(radioGroup.Location);
83+
}
84+
}
6885
}
6986

0 commit comments

Comments
 (0)