Advertisement
Guest User

Untitled

a guest
Aug 21st, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.93 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using HCTRAMobile.UITests.Resources;
  4. using NUnit.Framework;
  5. using Xamarin.UITest;
  6.  
  7. namespace HCTRAMobile.UITests
  8. {
  9. [TestFixture(Platform.Android)]
  10. [TestFixture(Platform.iOS)]
  11. public class UpdateProfileUITests
  12. {
  13. private IApp _app;
  14. private readonly Platform _platform;
  15. private LoginHelper loginHelper = null;
  16. private UITestHelper uiTestHelper = null;
  17.  
  18. public UpdateProfileUITests(Platform platform)
  19. {
  20. _platform = platform;
  21. }
  22.  
  23. [SetUp]
  24. public void Setup()
  25. {
  26. _app = AppInitializer.StartApp(_platform);
  27. loginHelper = new LoginHelper(_app, _platform);
  28. uiTestHelper = new UITestHelper(_app, _platform);
  29. }
  30.  
  31. private void LoadUpdateProfilePage()
  32. {
  33. uiTestHelper.LoadScreen(15);
  34. _app.ScrollUp();
  35. if (_platform == Platform.Android)
  36. {
  37. _app.WaitForElement(x => x.Marked(TestConstants.ACCT_PROFILE), "Timed Out.", TimeSpan.FromMinutes(1));
  38. _app.Tap(x => x.Marked(TestConstants.ACCT_PROFILE));
  39. }
  40. else
  41. {
  42. _app.WaitForElement(x => x.Marked(TestConstants.ACCT_PROFILE_IOS), "Timed Out.", TimeSpan.FromMinutes(1));
  43. _app.Tap(x => x.Marked(TestConstants.ACCT_PROFILE_IOS));
  44. }
  45. uiTestHelper.ValidateUpdateProfilePage();
  46. }
  47.  
  48. private void LoadUpdateSettingsPage()
  49. {
  50. uiTestHelper.LoadScreen(15);
  51. _app.ScrollUp();
  52. //if (_platform == Platform.Android)
  53. //{
  54. // _app.WaitForElement(x => x.Marked(TestConstants.ACCT_SETTINGS), "Timed Out.", TimeSpan.FromMinutes(1));
  55. // _app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
  56. // uiTestHelper.CaptureScreenshot("Settings Page Loaded.");
  57. //}
  58. //else
  59. //{
  60. // _app.WaitForElement(x => x.Marked(TestConstants.SETTINGS_WHITE), "Timed Out.", TimeSpan.FromMinutes(1));
  61. // _app.Tap(x => x.Marked(TestConstants.SETTINGS_WHITE));
  62. //}
  63.  
  64. _app.WaitForElement(x => x.Marked(TestConstants.ACCT_SETTINGS), "Timed Out.", TimeSpan.FromMinutes(1));
  65. _app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
  66. uiTestHelper.CaptureScreenshot("Settings Page Loaded.");
  67.  
  68. uiTestHelper.ValidateUpdateSettingsPage();
  69. }
  70.  
  71. private void SetUpdateProfileDefaults(string userName, string password)
  72. {
  73. loginHelper.EnterCredentials(userName, password);
  74. loginHelper.Login();
  75. uiTestHelper.LoadScreen(30);
  76. uiTestHelper.DisplayHomePage();
  77. }
  78.  
  79. private void ChangeEmail()
  80. {
  81. //_app.Tap(x => x.Marked(TestConstants.UP_DEFAULT_EMAIL));
  82. _app.Tap(x => x.Marked("Email"));
  83. uiTestHelper.LoadScreen(5);
  84. _app.WaitForElement(x => x.Marked("Email"));
  85. //_app.ClearText();
  86. //_app.EnterText(uiTestHelper.RandomString(10) + "@gmail.com");
  87. _app.EnterText(TestConstants.UP_NEW_EMAIL);
  88. _app.DismissKeyboard();
  89. uiTestHelper.CaptureScreenshot("Updated Email Address.");
  90. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  91.  
  92. }
  93.  
  94. private void ChangeToDefaultEmail()
  95. {
  96. _app.Tap(x => x.Marked(TestConstants.UP_NEW_EMAIL));
  97. uiTestHelper.LoadScreen(5);
  98. _app.WaitForElement(x => x.Marked("Email"));
  99. //_app.ClearText();
  100. _app.EnterText(TestConstants.UP_DEFAULT_EMAIL);
  101. _app.DismissKeyboard();
  102. uiTestHelper.CaptureScreenshot("Changed toDefault Email Address.");
  103. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  104.  
  105. }
  106.  
  107. protected internal void ChangePhone()
  108. {
  109. _app.Tap(x => x.Marked(TestConstants.UPDATE_PROFILE_PHONE));
  110. //_app.ClearText();
  111. _app.WaitForElement(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  112. _app.EnterText(uiTestHelper.RandomNo(10));
  113. _app.DismissKeyboard();
  114. uiTestHelper.CaptureScreenshot("Update Phone number.");
  115. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  116. //_app.Tap(x => x.Marked("OK"));
  117. }
  118.  
  119. private void ChangeEmailPhone()
  120. {
  121. //_app.Tap(x => x.Id("Email"));
  122. //_app.ClearText();
  123. //_app.EnterText(uiTestHelper.RandomString(10) + "@gmail.com");
  124. _app.WaitForElement(x => x.Marked("Email"));
  125. _app.Tap(x => x.Marked("Email"));
  126. uiTestHelper.LoadScreen(5);
  127. //_app.ClearText();
  128. _app.EnterText(TestConstants.UP_NEW_EMAIL);
  129. uiTestHelper.CaptureScreenshot("Changed tonew Email Address.");
  130. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  131. uiTestHelper.LoadScreen(5);
  132. _app.Tap(x => x.Marked(TestConstants.UPDATE_PROFILE_PHONE));
  133. //_app.ClearText();
  134. uiTestHelper.LoadScreen(5);
  135. _app.EnterText(uiTestHelper.RandomNo(10));
  136. _app.DismissKeyboard();
  137. uiTestHelper.CaptureScreenshot("Changed tonew Phone.");
  138. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  139. //_app.Tap(x => x.Marked("OK"));
  140. }
  141.  
  142. private void TapEnterDismiss(string controlName, string controlData)
  143. {
  144. if (_platform == Platform.Android)
  145. {
  146. _app.Tap(x => x.Marked(controlName));
  147. _app.EnterText(x => x.Marked(controlName), controlData);
  148. }
  149. else
  150. {
  151. _app.Tap(x => x.Id(controlName));
  152. _app.EnterText(x => x.Id(controlName), controlData);
  153. }
  154. _app.DismissKeyboard();
  155. }
  156.  
  157. private void EnterCreditCardDetails(string cardNumber, string monthNum, string yearNum)
  158. {
  159. //ClearTextControls("", TestConstants.CARD_NUMBER);
  160. //_app.EnterText(x => x.Marked(TestConstants.CARD_NUMBER), cardNumber);
  161. ClearAndEnterTextControls(TestConstants.CARD_NAME, cardNumber);
  162. uiTestHelper.SetPickerValue(TestConstants.MONTH_PICKER, monthNum, 12);
  163. uiTestHelper.SetPickerValue(TestConstants.YEAR_PICKER, yearNum, 21);
  164. uiTestHelper.CaptureScreenshot("Credit card details entered.");
  165. }
  166.  
  167. private void ClearAndEnterTextControls(string cardName, string cardNumber)
  168. {
  169. _app.Tap(x => x.Marked(TestConstants.CARD_NAME));
  170. _app.ClearText();
  171. //_app.EnterText(x => x.Marked(TestConstants.CARD_NAME), uiTestHelper.RandomString(5) + " " + uiTestHelper.RandomString(5));
  172. if (!string.IsNullOrWhiteSpace(cardName))
  173. {
  174. _app.EnterText(x => x.Marked(TestConstants.CARD_NAME), ("User " + uiTestHelper.RandomString(10)));
  175. }
  176. _app.DismissKeyboard();
  177.  
  178. _app.Tap(x => x.Marked(TestConstants.CARD_NUMBER));
  179. _app.ClearText();
  180.  
  181. if (!string.IsNullOrWhiteSpace(cardNumber))
  182. {
  183. _app.EnterText(x => x.Marked(TestConstants.CARD_NUMBER), cardNumber);
  184. }
  185. _app.DismissKeyboard();
  186. }
  187.  
  188. private void UpdateCreditCardDetails()
  189. {
  190. _app.Tap(x => x.Marked(TestConstants.MP_UPDATE));
  191. uiTestHelper.CaptureScreenshot("AECreditCardDetails Updated");
  192. _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
  193. _app.Tap(x => x.Text("OK"));
  194. uiTestHelper.CaptureScreenshot("Records updated");
  195. /*_app.Tap(x => x.Text("OK"));
  196. uiTestHelper.DisplayHomePage();*/
  197. }
  198.  
  199. private void UpdateReplenishmentAmount()
  200. {
  201. //_app.Tap(x => x.Marked(TestConstants.UP_DEFAULT_EMAIL));
  202. uiTestHelper.LoadScreen(5);
  203. _app.ScrollDown();
  204. _app.Tap(x => x.Marked("Replenishment Amount"));
  205. uiTestHelper.LoadScreen(10);
  206. _app.ClearText();
  207. _app.EnterText(TestConstants.CHANGE_REPLENISHMENT);
  208. //_app.ClearText();
  209. //_app.EnterText(uiTestHelper.RandomString(10) + "@gmail.com");
  210. _app.DismissKeyboard();
  211. uiTestHelper.CaptureScreenshot("Updated Replenishment Amount.");
  212. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  213.  
  214. }
  215.  
  216. [Test]//ID12314 Update Profile - Email WIP
  217. public void UpdateEmail()
  218. {
  219. uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
  220. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  221. LoadUpdateProfilePage();
  222. ChangeEmail();
  223. //verify new email
  224. uiTestHelper.LoadScreen(10);
  225. ChangeToDefaultEmail();
  226. uiTestHelper.LoadScreen(10);
  227. uiTestHelper.ValidateUpdateProfilePage();
  228. uiTestHelper.TapBackButtonForDevice();
  229. //LoadUpdateProfilePage();
  230. uiTestHelper.DisplayHomePage();
  231. }
  232.  
  233. [Test]//ID12315 Update Profile - Phone
  234. public void UpdatePhone()
  235. {
  236. uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
  237. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  238. LoadUpdateProfilePage();
  239. _app.WaitForElement(x => x.Marked("Email"));
  240. ChangePhone();
  241. _app.WaitForElement(x => x.Marked("Phone"));
  242. uiTestHelper.ValidateUpdateProfilePage();
  243. uiTestHelper.TapBackButtonForDevice();
  244. //_app.ScrollUp();
  245. uiTestHelper.DisplayHomePage();
  246. }
  247.  
  248. [Test]//ID12316 Update Profile - Email and Phone
  249. [Category("Smoke")]
  250. public void UpdateEmailAndPhone()
  251. {
  252. uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
  253. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  254. LoadUpdateProfilePage();
  255. _app.WaitForElement(x => x.Marked("Email"));
  256. ChangeEmailPhone();
  257. uiTestHelper.LoadScreen(10);
  258. //_app.ScrollUp();
  259. uiTestHelper.ValidateUpdateProfilePage();
  260. uiTestHelper.TapBackButtonForDevice();
  261. uiTestHelper.DisplayHomePage();
  262. //verify new email and phone?
  263. LoadUpdateProfilePage();
  264. _app.WaitForElement(x => x.Marked("Email"));
  265. ChangeToDefaultEmail();
  266. uiTestHelper.LoadScreen(10);
  267. //_app.ScrollUp();
  268. uiTestHelper.ValidateUpdateProfilePage();
  269. uiTestHelper.TapBackButtonForDevice();
  270. uiTestHelper.DisplayHomePage();
  271. }
  272.  
  273. [Test]//Change Password and Back to Original Password - Back Button
  274. public void ChangePasswordAndBackToDefaultPassword()
  275. {
  276. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  277. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  278. LoadUpdateProfilePage();
  279. _app.WaitForElement(x => x.Marked("Password"));
  280. _app.Tap(x => x.Marked("Password"));
  281. uiTestHelper.LoadScreen(5);
  282. _app.EnterText(TestConstants.NEW_PASSWORD);
  283. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  284. _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
  285. _app.EnterText(TestConstants.CONFIRMATION_CURRENT_PASSWORD);
  286. _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
  287. _app.Tap(x => x.Text("OK"));
  288. _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
  289. _app.Tap(x => x.Text("OK"));
  290. uiTestHelper.CaptureScreenshot("New Password updated");
  291. _app.WaitForElement(x => x.Marked("Password"));
  292. _app.Tap(x => x.Marked("Password"));
  293. uiTestHelper.LoadScreen(5);
  294. _app.EnterText(TestConstants.PASSWORD);
  295. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  296. _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
  297. _app.EnterText(TestConstants.NEW_PASSWORD);
  298. _app.Tap(x => x.Text("OK"));
  299. uiTestHelper.CaptureScreenshot("Default Password updated");
  300. _app.Tap(x => x.Text("OK"));
  301. uiTestHelper.LoadScreen(5);
  302. uiTestHelper.TapBackButtonForDevice();
  303. //_app.ScrollUp();
  304. uiTestHelper.DisplayHomePage();
  305. }
  306.  
  307. [Test]//Change Username and Back to Original Username - Back Button
  308. public void ChangeUsernameAndBackToDefaultUsername()
  309. {
  310. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  311. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  312. LoadUpdateProfilePage();
  313. _app.WaitForElement(x => x.Marked("Username"));
  314. _app.Tap(x => x.Marked("Username"));
  315. uiTestHelper.LoadScreen(5);
  316. _app.EnterText(TestConstants.NEW_USERNAME);
  317. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  318. _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
  319. _app.EnterText(TestConstants.CONFIRMATION_CURRENT_PASSWORD);
  320. _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
  321. _app.Tap(x => x.Text("OK"));
  322. uiTestHelper.CaptureScreenshot("New Username updated");
  323. _app.WaitForElement(x => x.Marked("Username"));
  324. _app.Tap(x => x.Marked("Username"));
  325. uiTestHelper.LoadScreen(5);
  326. _app.EnterText(TestConstants.USERNAME);
  327. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  328. _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
  329. _app.EnterText(TestConstants.CONFIRMATION_CURRENT_PASSWORD);
  330. _app.Tap(x => x.Text("OK"));
  331. uiTestHelper.CaptureScreenshot("Default Username updated");
  332. uiTestHelper.LoadScreen(5);
  333. uiTestHelper.TapBackButtonForDevice();
  334. //_app.ScrollUp();
  335. uiTestHelper.DisplayHomePage();
  336. }
  337.  
  338. [Test]//ID1217 Update Profile/Settings - Back Button
  339. public void UpdateProfileSettingsBack()
  340. {
  341. uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
  342. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  343. LoadUpdateProfilePage();
  344. //_app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
  345. LoadUpdateSettingsPage();
  346. uiTestHelper.TapBackButtonForDevice();
  347. uiTestHelper.ValidateUpdateProfilePage();
  348. uiTestHelper.TapBackButtonForDevice();
  349. //_app.ScrollUp();
  350. uiTestHelper.DisplayHomePage();
  351. }
  352.  
  353. [Test]//ID14840 UPDATE DEFAULT ACTIVATION PERIOD - Back Button
  354. public void UpdateDefaultActivationPeriodSettingsBack()
  355. {
  356. uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
  357. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  358. LoadUpdateProfilePage();
  359. //_app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
  360. LoadUpdateSettingsPage();
  361. _app.Tap(x => x.Marked(TestConstants.DEFAULT_ACTIVATION_PERIOD));
  362. _app.Tap(x => x.Marked("7"));
  363. _app.ClearText();
  364. _app.EnterText(TestConstants.DEFAULT_ACTIVATION_DAYS);
  365. uiTestHelper.CaptureScreenshot("UPDATING DEFAULT ACTIVATION PERIOD");
  366. _app.Tap(TestConstants.SAVE_BUTTON);
  367. uiTestHelper.CaptureScreenshot("DEFAULT ACTIVATION PERIOD updated");
  368. uiTestHelper.TapBackButtonForDevice();
  369. uiTestHelper.ValidateUpdateProfilePage();
  370. uiTestHelper.TapBackButtonForDevice();
  371. //_app.ScrollUp();
  372. uiTestHelper.DisplayHomePage();
  373. }
  374.  
  375. [Test]//Update Security Question Profile Page - Back Button
  376. public void UpdateSecurityQuestionBack()
  377. {
  378. uiTestHelper.CaptureScreenshot("SecurityQuestion Test started.");
  379. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  380. LoadUpdateProfilePage();
  381. _app.WaitForElement(x => x.Marked("Security Question"));
  382. _app.Tap(x => x.Marked("Security Question"));
  383. if (_platform == Platform.Android)
  384. {
  385. uiTestHelper.SetPickerValue(TestConstants.SECURITY_QUESTION, "1", 7);
  386. }
  387. else
  388. {
  389. uiTestHelper.SetPickerValue(TestConstants.SECURITY_QUESTION, TestConstants.SECURITY_QUESTION_DATA, 7);
  390. }
  391.  
  392. TapEnterDismiss(TestConstants.SECURITY_ANSWER, TestConstants.SECURITY_ANSWER_DATA);
  393. _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
  394. _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
  395. _app.EnterText(TestConstants.CONFIRMATION_CURRENT_PASSWORD);
  396. _app.Tap(x => x.Text("OK"));
  397. uiTestHelper.CaptureScreenshot("Security Question/Answer updated");
  398. uiTestHelper.LoadScreen(5);
  399. uiTestHelper.TapBackButtonForDevice();
  400. //_app.ScrollUp();
  401. uiTestHelper.DisplayHomePage();
  402. }
  403.  
  404. [Test]//Update Payment Method Profile - Back Button
  405. public void UpdatePaymentMethodProfile()
  406. {
  407. uiTestHelper.CaptureScreenshot("UpdatePaymentMethodProfile Test Started");
  408. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  409. LoadUpdateProfilePage();
  410. uiTestHelper.LoadScreen(5);
  411. _app.ScrollDown();
  412. _app.Tap(x => x.Marked("Payment Method"));
  413. if (_platform == Platform.Android)
  414. {
  415. EnterCreditCardDetails(TestConstants.AE_CARD_NUMBER, "4", "3");
  416. }
  417. else
  418. {
  419. EnterCreditCardDetails(TestConstants.AE_CARD_NUMBER, "05", "2019");
  420. }
  421. _app.Flash(x => x.Marked(TestConstants.AMERICAN_EXPRESS));
  422. UpdateCreditCardDetails();
  423. uiTestHelper.LoadScreen(5);
  424. uiTestHelper.TapBackButtonForDevice();
  425. uiTestHelper.DisplayHomePage();
  426. }
  427.  
  428. [Test]//Update Replenishment Amount - Back Button
  429. public void UpdateReplenishmentAmountBack()
  430. {
  431. uiTestHelper.CaptureScreenshot("UpdateRelenishmentAmount Test started.");
  432. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  433. LoadUpdateProfilePage();
  434. UpdateReplenishmentAmount();
  435. uiTestHelper.LoadScreen(5);
  436. uiTestHelper.TapBackButtonForDevice();
  437. //_app.ScrollUp();
  438. uiTestHelper.DisplayHomePage();
  439. }
  440.  
  441. [Test]
  442. public void CheckPolicy()
  443. {
  444. uiTestHelper.CaptureScreenshot("CheckPolicy Test started.");
  445. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  446. LoadUpdateProfilePage();
  447. LoadUpdateSettingsPage();
  448.  
  449. _app.Tap(x => x.Marked("Privacy Policy"));
  450.  
  451. //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
  452. }
  453.  
  454. [Test]// Login rememberme - off, Enable Touch ID - on.
  455. public void EnableFingerPrint()
  456. {
  457. uiTestHelper.CaptureScreenshot("EnableFingerPrint Test started.");
  458. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  459. LoadUpdateProfilePage();
  460. //_app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
  461. LoadUpdateSettingsPage();
  462. //uiTestHelper.TapBackButtonForDevice();
  463. //uiTestHelper.ValidateUpdateProfilePage();
  464. //uiTestHelper.TapBackButtonForDevice();
  465. //_app.ScrollUp();
  466. //uiTestHelper.DisplayHomePage();
  467.  
  468. //_app.Tap(x => x.Marked("Notifications"));
  469.  
  470. _app.Tap(x => x.Marked("FingerPrintAutomationId"));
  471. //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
  472. }
  473.  
  474. [Test]
  475. public void ToggleNotification()
  476. {
  477. uiTestHelper.CaptureScreenshot("Notification Toggle Test started.");
  478. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  479. LoadUpdateProfilePage();
  480. LoadUpdateSettingsPage();
  481.  
  482. _app.Tap(x => x.Marked("Notifications"));
  483. _app.Tap(x => x.Marked("General")); //does not toggle.
  484.  
  485. //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
  486. }
  487.  
  488. [Test]
  489. public void CheckContactUs()
  490. {
  491. uiTestHelper.CaptureScreenshot("CheckContactUs Test started.");
  492. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  493. LoadUpdateProfilePage();
  494. LoadUpdateSettingsPage();
  495.  
  496. _app.Tap(x => x.Marked("Contact Us"));
  497.  
  498. //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
  499. }
  500.  
  501. [Test]
  502. public void CheckMaps()
  503. {
  504. uiTestHelper.CaptureScreenshot("CheckMaps Test started.");
  505. SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
  506. LoadUpdateProfilePage();
  507. LoadUpdateSettingsPage();
  508.  
  509. _app.Tap(x => x.Marked("Regional Maps"));
  510.  
  511. //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
  512. }
  513.  
  514. [Test]//Update Mailing Address
  515. public void UpdateMailingAddress()
  516. {
  517. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  518. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  519. LoadUpdateProfilePage();
  520.  
  521. _app.WaitForElement(x => x.Marked("Mailing Address"));
  522. _app.Tap(x => x.Marked("Mailing Address"));
  523. uiTestHelper.LoadScreen(5);
  524.  
  525.  
  526. _app.Tap(x => x.Marked("Country"));
  527. _app.Tap(x => x.Marked("USA"));
  528.  
  529. _app.Tap(x => x.Marked("Address1"));
  530. _app.ClearText();
  531. _app.EnterText(x => x.Marked("Address1"), "123 Test St");
  532.  
  533. _app.Tap(x => x.Marked("Address2"));
  534. _app.ClearText();
  535. _app.EnterText(x => x.Marked("Address2"), "456 Test St");
  536.  
  537. _app.Tap(x => x.Marked("City"));
  538. _app.ClearText();
  539. _app.EnterText(x => x.Marked("City"), "Houston");
  540.  
  541. _app.Tap(x => x.Marked("State"));
  542. _app.Tap(x => x.Marked("TX"));
  543.  
  544. _app.Tap(x => x.Marked("ZipCode"));
  545. _app.EnterText(x => x.Marked("ZipCode"), "77064");
  546.  
  547. _app.WaitForElement(x => x.Marked("Update"));
  548. _app.Tap(x => x.Marked("Update"));
  549.  
  550. }
  551.  
  552. [Test]//invalid character Mailing Address
  553. public void CheckInvalidMailingAddress()
  554. {
  555. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  556. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  557. LoadUpdateProfilePage();
  558.  
  559. _app.WaitForElement(x => x.Marked("Mailing Address"));
  560. _app.Tap(x => x.Marked("Mailing Address"));
  561. uiTestHelper.LoadScreen(5);
  562.  
  563. _app.Tap(x => x.Marked("Country"));
  564. _app.Tap(x => x.Marked("USA"));
  565. //_app.WaitForElement(x => x.Marked("USA"));
  566. _app.Tap(x => x.Marked("Address1"));
  567. _app.ClearText();
  568. _app.EnterText(x => x.Marked("Address1"), "1231%^&*123 Test St");
  569. _app.Tap(x => x.Marked("Address2"));
  570. _app.ClearText();
  571. _app.EnterText(x => x.Marked("Address2"), "23123%^&*123123 Test St");
  572. _app.Tap(x => x.Marked("City"));
  573. _app.ClearText();
  574. _app.EnterText(x => x.Marked("City"), "Houst%^&*stonHouston");
  575. _app.Tap(x => x.Marked("ZipCode"));
  576. _app.EnterText(x => x.Marked("ZipCode"), "77064%^&*s");
  577.  
  578.  
  579. _app.WaitForElement(x => x.Marked("Update"));
  580. _app.Tap(x => x.Marked("Update"));
  581.  
  582. //_app.WaitForElement(x => x.Marked("Please enter a valid address"));
  583. //_app.WaitForElement(x => x.Marked("Please enter a valid city"));
  584. //_app.WaitForElement(x => x.Marked("Please enter a valid zip code"));
  585. }
  586.  
  587. //[Test]//invalid character Mailing Address
  588. //public void CheckLengthMailingAddress()
  589. //{
  590. // uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  591. // SetUpdateProfileDefaults(TestConstants.EXPRESS, TestConstants.EXPRESS_PW);
  592. // LoadUpdateProfilePage();
  593.  
  594. // _app.WaitForElement(x => x.Marked("Mailing Address"));
  595. // _app.Tap(x => x.Marked("Mailing Address"));
  596. // uiTestHelper.LoadScreen(5);
  597.  
  598.  
  599. // _app.Tap(x => x.Marked("Country"));
  600. // _app.Tap(x => x.Marked("USA"));
  601. // _app.Tap(x => x.Marked("Address1"));
  602. // _app.ClearText();
  603. // _app.EnterText(x => x.Marked("Address1"), "1231123123123 Test St");
  604. // _app.Tap(x => x.Marked("Address2"));
  605. // _app.ClearText();
  606. // _app.EnterText(x => x.Marked("Address2"), "2312312312312323123 Test St");
  607. // _app.Tap(x => x.Marked("City"));
  608. // _app.ClearText();
  609. // _app.EnterText(x => x.Marked("City"), "HoustasdfadsftonHouston");
  610.  
  611. // //_app.WaitForElement(x => x.Marked("Please enter a valid address"));
  612. // //_app.WaitForElement(x => x.Marked("Please enter a valid city"));
  613. // //_app.WaitForElement(x => x.Marked("Please enter a valid zip code"));
  614.  
  615. // _app.Tap(x => x.Marked("ZipCode"));
  616. // _app.EnterText(x => x.Marked("ZipCode"), "77064");
  617.  
  618. // //Valid length
  619. // _app.Tap(x => x.Marked("Address1"));
  620. // _app.ClearText();
  621. // _app.EnterText(x => x.Marked("Address1"), "123 Test St");
  622.  
  623. // _app.Tap(x => x.Marked("Address2"));
  624. // _app.ClearText();
  625. // _app.EnterText(x => x.Marked("Address2"), "456 Test St");
  626.  
  627. // _app.Tap(x => x.Marked("City"));
  628. // _app.ClearText();
  629. // _app.EnterText(x => x.Marked("City"), "Houston");
  630.  
  631.  
  632. // _app.Tap(x => x.Marked("ZipCode"));
  633. // _app.EnterText(x => x.Marked("ZipCode"), "77064");
  634.  
  635. // _app.WaitForElement(x => x.Marked("Update"));
  636. // _app.Tap(x => x.Marked("Update"));
  637. //}
  638.  
  639. [Test]//Update Mailing Address
  640. public void BlankMailingAddress()
  641. {
  642. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  643. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  644. LoadUpdateProfilePage();
  645.  
  646. _app.WaitForElement(x => x.Marked("Mailing Address"));
  647. _app.Tap(x => x.Marked("Mailing Address"));
  648. uiTestHelper.LoadScreen(5);
  649.  
  650. _app.Tap(x => x.Marked("Country"));
  651. _app.Tap(x => x.Marked("USA"));
  652. _app.Tap(x => x.Marked("Address1"));
  653. _app.ClearText();
  654. _app.Tap(x => x.Marked("Address2"));
  655. _app.ClearText();
  656. _app.Tap(x => x.Marked("City"));
  657. _app.ClearText();
  658. // _app.Tap(x => x.Marked("State"));
  659. // _app.Tap(x => x.Marked("TX"));
  660. _app.Tap(x => x.Marked("ZipCode"));
  661. _app.ClearText();
  662.  
  663. _app.WaitForElement(x => x.Marked("Update"));
  664. _app.Tap(x => x.Marked("Update"));
  665.  
  666. _app.WaitForElement(x => x.Marked("Please enter a valid address"));
  667. _app.WaitForElement(x => x.Marked("Please enter a valid city"));
  668. _app.WaitForElement(x => x.Marked("Please enter a valid zip code"));
  669. }
  670.  
  671. [Test] //Test Field Hide
  672. public void ChangeToInternationalMailingAddress()
  673. {
  674. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  675. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  676. LoadUpdateProfilePage();
  677.  
  678. _app.WaitForElement(x => x.Marked("Mailing Address"));
  679. _app.Tap(x => x.Marked("Mailing Address"));
  680. uiTestHelper.LoadScreen(5);
  681.  
  682. _app.WaitForElement(x => x.Marked("USA"));
  683. _app.Tap(x => x.Marked("USA"));
  684. uiTestHelper.SetPickerValue("CountryField", "ZIMBABWE", 195);
  685.  
  686. //How to check if an element is not there?
  687. if (_app.Query(x => x.Marked("City")).Count() < 0 && _app.Query(x => x.Marked("ZipCode")).Count() < 0)
  688. {
  689. _app.Tap(x => x.Marked("Address1"));
  690. _app.ClearText();
  691. _app.EnterText(x => x.Marked("Address1"), "123 Test St");
  692.  
  693. _app.Tap(x => x.Marked("Address2"));
  694. _app.ClearText();
  695. _app.EnterText(x => x.Marked("Address2"), "456 Test St");
  696.  
  697. _app.Tap(x => x.Marked("City"));
  698. _app.ClearText();
  699. _app.EnterText(x => x.Marked("City"), "Houston");
  700.  
  701. //_app.Tap(x => x.Marked("State"));
  702. //_app.Tap(x => x.Marked("TX"));
  703.  
  704. _app.Tap(x => x.Marked("ZipCode"));
  705. _app.EnterText(x => x.Marked("ZipCode"), "77064");
  706. }
  707.  
  708. _app.Tap(x => x.Marked("Update"));
  709.  
  710.  
  711.  
  712.  
  713. _app.WaitForElement(x => x.Marked("Mailing Address"));
  714. _app.Tap(x => x.Marked("Mailing Address"));
  715. _app.WaitForElement(x => x.Marked("ZIMBABWE"));
  716. _app.Tap(x => x.Marked("ZIMBABWE"));
  717.  
  718. for (int i = 0; i < 15; i++) //every scroll down is 4 elements
  719. {
  720. _app.ScrollUp(x => x.Class("UIPickerTableView").Index(0));
  721.  
  722. }
  723.  
  724. uiTestHelper.SetPickerValue("CountryField", "USA", 195);
  725.  
  726. //How to check if an element is not there?
  727. if (_app.Query(x => x.Marked("City")).Count() > 0 && _app.Query(x => x.Marked("ZipCode")).Count() > 0)
  728. {
  729. _app.Tap(x => x.Marked("Address1"));
  730. _app.ClearText();
  731. _app.EnterText(x => x.Marked("Address1"), "123 Test St");
  732.  
  733. _app.Tap(x => x.Marked("Address2"));
  734. _app.ClearText();
  735. _app.EnterText(x => x.Marked("Address2"), "456 Test St");
  736. }
  737.  
  738. _app.Tap(x => x.Marked("Update"));
  739. }
  740.  
  741. [Test]//Add Authorized Contacts
  742. public void AddAuthorizedContact()
  743. {
  744. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  745. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  746. LoadUpdateProfilePage();
  747.  
  748.  
  749. _app.WaitForElement(x => x.Marked("Authorized Contacts"));
  750. _app.Tap(x => x.Marked("Authorized Contacts"));
  751. uiTestHelper.LoadScreen(5);
  752.  
  753. _app.Tap(x => x.Marked("Add"));
  754. _app.WaitForElement(x => x.Marked("FirstName"));
  755. _app.Tap(x => x.Marked("FirstName"));
  756. _app.EnterText(x => x.Marked("FirstName"), "ASDF");
  757. _app.Tap(x => x.Marked("LastName"));
  758. _app.EnterText(x => x.Marked("LastName"), "ASDF");
  759. _app.Tap(x => x.Marked("AccessCode"));
  760. _app.EnterText(x => x.Marked("AccessCode"), "123123");
  761.  
  762. _app.Tap(x => x.Marked("Update"));
  763.  
  764. _app.Tap(x => x.Marked("Save"));
  765. _app.EnterText(TestConstants.FULL_PW);
  766. _app.Tap(x => x.Marked("OK"));
  767.  
  768. _app.WaitForElement(x => x.Marked("OK"));
  769. _app.Tap(x => x.Marked("OK"));
  770. _app.Tap(x => x.Marked("OK"));
  771. }
  772.  
  773. [Test]//Update Authorized Contacts
  774. public void AuthorizedContactUpdate()
  775. {
  776. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  777. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  778. LoadUpdateProfilePage();
  779.  
  780. _app.WaitForElement(x => x.Marked("Authorized Contacts"));
  781. _app.Tap(x => x.Marked("Authorized Contacts"));
  782. uiTestHelper.LoadScreen(5);
  783.  
  784. //_app.WaitForElement(x => x.Marked("ContactItem"));
  785. //_app.WaitForElement(x => x.Marked("trashcan.png"));
  786. _app.WaitForElement(x => x.Marked("ASDF ASDF "));
  787. _app.Tap(x => x.Marked("ASDF ASDF "));
  788. _app.WaitForElement(x => x.Marked("FirstName"));
  789. _app.Tap(x => x.Marked("FirstName"));
  790. _app.EnterText(x => x.Marked("FirstName"), "ASDF");
  791. _app.Tap(x => x.Marked("LastName"));
  792. _app.EnterText(x => x.Marked("LastName"), "ASDF");
  793. _app.Tap(x => x.Marked("AccessCode"));
  794. _app.EnterText(x => x.Marked("AccessCode"), "123123");
  795.  
  796. _app.Tap(x => x.Marked("Update"));
  797.  
  798. _app.Tap(x => x.Marked("Save"));
  799. _app.EnterText(TestConstants.FULL_PW);
  800. _app.Tap(x => x.Marked("OK"));
  801.  
  802. _app.WaitForElement(x => x.Marked("OK"));
  803. _app.Tap(x => x.Marked("OK"));
  804.  
  805. _app.Tap(x => x.Marked("OK"));
  806. }
  807.  
  808. [Test]//Update Authorized Contacts w/ Invalid pass
  809. public void AuthorizedContactUpdateWithInvalidPassword()
  810. {
  811. uiTestHelper.CaptureScreenshot("AuthorizedContactUpdateWithInvalidPassword Test started.");
  812. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  813. LoadUpdateProfilePage();
  814.  
  815. _app.WaitForElement(x => x.Marked("Authorized Contacts"));
  816. _app.Tap(x => x.Marked("Authorized Contacts"));
  817. uiTestHelper.LoadScreen(5);
  818.  
  819. _app.WaitForElement(x => x.Marked("ASDF ASDF "));
  820. _app.Tap(x => x.Marked("ASDF ASDF "));
  821. _app.WaitForElement(x => x.Marked("FirstName"));
  822. _app.Tap(x => x.Marked("FirstName"));
  823. _app.EnterText(x => x.Marked("FirstName"), "ggDF");
  824. _app.Tap(x => x.Marked("LastName"));
  825. _app.EnterText(x => x.Marked("LastName"), "ggdf");
  826. _app.Tap(x => x.Marked("AccessCode"));
  827. _app.EnterText(x => x.Marked("AccessCode"), "123123");
  828.  
  829. _app.Tap(x => x.Marked("Update"));
  830. _app.Tap(x => x.Marked("Save"));
  831. _app.EnterText("InvalidPassword");
  832. _app.Tap(x => x.Marked("OK"));
  833. //_app.WaitForElement(x => x.Marked("OK"));
  834. //_app.Tap(x => x.Marked("OK"));
  835. //_app.Tap(x => x.Marked("OK"));
  836. }
  837.  
  838. [Test]//Update Authorized Contacts w/ Invalid pass
  839. public void DiscardChangesAuthorizedContacts()
  840. {
  841. uiTestHelper.CaptureScreenshot("AuthorizedContactUpdateWithInvalidPassword Test started.");
  842. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  843. LoadUpdateProfilePage();
  844.  
  845. _app.WaitForElement(x => x.Marked("Authorized Contacts"));
  846. _app.Tap(x => x.Marked("Authorized Contacts"));
  847. uiTestHelper.LoadScreen(5);
  848.  
  849. _app.WaitForElement(x => x.Marked("ASDF ASDF "));
  850. _app.Tap(x => x.Marked("ASDF ASDF "));
  851. _app.WaitForElement(x => x.Marked("FirstName"));
  852. _app.Tap(x => x.Marked("FirstName"));
  853. _app.EnterText(x => x.Marked("FirstName"), "ggDF");
  854. _app.Tap(x => x.Marked("LastName"));
  855. _app.EnterText(x => x.Marked("LastName"), "ggdf");
  856. _app.Tap(x => x.Marked("AccessCode"));
  857. _app.EnterText(x => x.Marked("AccessCode"), "123123");
  858.  
  859. _app.Tap(x => x.Marked("Update"));
  860. _app.Tap(x => x.Marked("Cancel"));
  861. _app.Tap(x => x.Marked("OK"));
  862. //_app.WaitForElement(x => x.Marked("OK"));
  863. //_app.Tap(x => x.Marked("OK"));
  864. //_app.Tap(x => x.Marked("OK"));
  865. }
  866.  
  867. [Test]//Delete Authorized Contacts
  868. public void DeleteAuthorizedContact()
  869. {
  870. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  871. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  872. LoadUpdateProfilePage();
  873.  
  874. _app.WaitForElement(x => x.Marked("Authorized Contacts"));
  875. _app.Tap(x => x.Marked("Authorized Contacts"));
  876. uiTestHelper.LoadScreen(5);
  877.  
  878. _app.WaitForElement(x => x.Marked("trashcan.png"));
  879. _app.Tap(x => x.Marked("trashcan.png"));
  880. //Need a way to hit the trash icon. Specific for list view (Maybe hit the first one?)
  881.  
  882. _app.Tap(x => x.Marked("Save"));
  883. _app.EnterText(TestConstants.FULL_PW);
  884. _app.Tap(x => x.Marked("OK"));
  885.  
  886. _app.WaitForElement(x => x.Marked("OK"));
  887. _app.Tap(x => x.Marked("OK"));
  888. }
  889.  
  890. [Test]//Add Authorized Contacts w/ invalid characters
  891. public void AuthorizedContactInvalidCharacters()
  892. {
  893. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  894. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  895. LoadUpdateProfilePage();
  896.  
  897. _app.WaitForElement(x => x.Marked("Authorized Contacts"));
  898. _app.Tap(x => x.Marked("Authorized Contacts"));
  899. uiTestHelper.LoadScreen(5);
  900.  
  901. _app.Tap(x => x.Marked("Add"));
  902. _app.WaitForElement(x => x.Marked("FirstName"));
  903. _app.Tap(x => x.Marked("FirstName"));
  904. _app.EnterText(x => x.Marked("FirstName"), "AS#!@#DF");
  905. _app.Tap(x => x.Marked("LastName"));
  906. _app.EnterText(x => x.Marked("LastName"), "AS#!@#DF");
  907. _app.Tap(x => x.Marked("AccessCode"));
  908. _app.EnterText(x => x.Marked("AccessCode"), "1asd3#!@123");
  909.  
  910. _app.Tap(x => x.Marked("Update"));
  911.  
  912. _app.WaitForElement(x => x.Marked("First name is invalid"));
  913. _app.WaitForElement(x => x.Marked("Last name is invalid"));
  914. _app.WaitForElement(x => x.Marked("Access Code must be 6 to 12 alpha-numeric characters"));
  915. }
  916.  
  917. [Test]//Add Authorized Contacts w/ blank field
  918. public void BlankAuthorizedContact()
  919. {
  920. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  921. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  922. LoadUpdateProfilePage();
  923.  
  924. _app.WaitForElement(x => x.Marked("Authorized Contacts"));
  925. _app.Tap(x => x.Marked("Authorized Contacts"));
  926. uiTestHelper.LoadScreen(5);
  927.  
  928. _app.Tap(x => x.Marked("Add"));
  929. _app.Tap(x => x.Marked("Update"));
  930.  
  931. _app.WaitForElement(x => x.Marked("First name is invalid"));
  932. _app.WaitForElement(x => x.Marked("Last name is invalid"));
  933. _app.WaitForElement(x => x.Marked("Access Code must be 6 to 12 alpha-numeric characters"));
  934. }
  935.  
  936. [Test]//Add Authorized Contacts w/ invalid length
  937. public void AuthorizedContactInvalidLength()
  938. {
  939. uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
  940. SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
  941. LoadUpdateProfilePage();
  942.  
  943. _app.WaitForElement(x => x.Marked("Authorized Contacts"));
  944. _app.Tap(x => x.Marked("Authorized Contacts"));
  945. uiTestHelper.LoadScreen(5);
  946.  
  947. _app.Tap(x => x.Marked("Add"));
  948. _app.WaitForElement(x => x.Marked("FirstName"));
  949. _app.Tap(x => x.Marked("FirstName"));
  950. _app.EnterText(x => x.Marked("FirstName"), "ASasdfasdfasdfDF");
  951. _app.Tap(x => x.Marked("LastName"));
  952. _app.EnterText(x => x.Marked("LastName"), "ASasddasdsdaDF");
  953. _app.Tap(x => x.Marked("AccessCode"));
  954. _app.EnterText(x => x.Marked("AccessCode"), "12222333333233");
  955.  
  956. _app.Tap(x => x.Marked("Update"));
  957.  
  958. //_app.Tap(x => x.Marked("Save"));
  959. //_app.EnterText(TestConstants.EXPRESS_PW);
  960. //_app.Tap(x => x.Marked("OK"));
  961.  
  962. //_app.WaitForElement(x => x.Marked("OK"));
  963. //_app.Tap(x => x.Marked("OK"));
  964. }
  965.  
  966. [TearDown]
  967. public void TearDown()
  968. {
  969. _app = null;
  970. loginHelper = null;
  971. uiTestHelper = null;
  972. }
  973. }
  974. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement