@fluentui-react-native/tester 0.52.2 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/CHANGELOG.json +28 -1
  2. package/CHANGELOG.md +12 -2
  3. package/lib/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.js +3 -2
  4. package/lib/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.js.map +1 -1
  5. package/lib/E2E/Button/specs/Button.spec.win.js +9 -2
  6. package/lib/E2E/Button/specs/Button.spec.win.js.map +1 -1
  7. package/lib/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.js +6 -2
  8. package/lib/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.js.map +1 -1
  9. package/lib/E2E/Callout/specs/Callout.spec.win.js +3 -2
  10. package/lib/E2E/Callout/specs/Callout.spec.win.js.map +1 -1
  11. package/lib/E2E/Checkbox/specs/Checkbox.spec.win.js +8 -2
  12. package/lib/E2E/Checkbox/specs/Checkbox.spec.win.js.map +1 -1
  13. package/lib/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.js +6 -2
  14. package/lib/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.js.map +1 -1
  15. package/lib/E2E/ContextualMenu/specs/ContextualMenu.spec.win.js +5 -2
  16. package/lib/E2E/ContextualMenu/specs/ContextualMenu.spec.win.js.map +1 -1
  17. package/lib/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.js +3 -2
  18. package/lib/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.js.map +1 -1
  19. package/lib/E2E/FocusZone/specs/FocusZone.spec.win.js +3 -2
  20. package/lib/E2E/FocusZone/specs/FocusZone.spec.win.js.map +1 -1
  21. package/lib/E2E/Icon/specs/Icon.spec.win.js +3 -2
  22. package/lib/E2E/Icon/specs/Icon.spec.win.js.map +1 -1
  23. package/lib/E2E/Link/specs/Link.spec.win.js +5 -2
  24. package/lib/E2E/Link/specs/Link.spec.win.js.map +1 -1
  25. package/lib/E2E/MenuButton/specs/MenuButton.spec.win.js +8 -2
  26. package/lib/E2E/MenuButton/specs/MenuButton.spec.win.js.map +1 -1
  27. package/lib/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.js +6 -2
  28. package/lib/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.js.map +1 -1
  29. package/lib/E2E/Persona/specs/Persona.spec.win.js +3 -2
  30. package/lib/E2E/Persona/specs/Persona.spec.win.js.map +1 -1
  31. package/lib/E2E/PersonaCoin/specs/PersonaCoin.spec.win.js +3 -2
  32. package/lib/E2E/PersonaCoin/specs/PersonaCoin.spec.win.js.map +1 -1
  33. package/lib/E2E/Pressable/specs/Pressable.spec.win.js +3 -2
  34. package/lib/E2E/Pressable/specs/Pressable.spec.win.js.map +1 -1
  35. package/lib/E2E/RadioGroup/specs/RadioGroup.spec.win.js +12 -2
  36. package/lib/E2E/RadioGroup/specs/RadioGroup.spec.win.js.map +1 -1
  37. package/lib/E2E/Separator/specs/Separator.spec.win.js +3 -2
  38. package/lib/E2E/Separator/specs/Separator.spec.win.js.map +1 -1
  39. package/lib/E2E/Shimmer/specs/Shimmer.spec.win.js +3 -2
  40. package/lib/E2E/Shimmer/specs/Shimmer.spec.win.js.map +1 -1
  41. package/lib/E2E/Svg/specs/Svg.spec.win.js +3 -2
  42. package/lib/E2E/Svg/specs/Svg.spec.win.js.map +1 -1
  43. package/lib/E2E/Tabs/specs/Tabs.spec.win.js +7 -2
  44. package/lib/E2E/Tabs/specs/Tabs.spec.win.js.map +1 -1
  45. package/lib/E2E/TabsExperimental/specs/TabsExperimental.spec.win.js +5 -2
  46. package/lib/E2E/TabsExperimental/specs/TabsExperimental.spec.win.js.map +1 -1
  47. package/lib/E2E/Text/specs/Text.spec.win.js +6 -2
  48. package/lib/E2E/Text/specs/Text.spec.win.js.map +1 -1
  49. package/lib/E2E/TextExperimental/specs/ExperimentalText.spec.win.js +4 -2
  50. package/lib/E2E/TextExperimental/specs/ExperimentalText.spec.win.js.map +1 -1
  51. package/lib/E2E/Theme/specs/Theme.spec.win.js +3 -2
  52. package/lib/E2E/Theme/specs/Theme.spec.win.js.map +1 -1
  53. package/lib/E2E/Tokens/specs/Tokens.spec.win.js +3 -2
  54. package/lib/E2E/Tokens/specs/Tokens.spec.win.js.map +1 -1
  55. package/lib/E2E/common/BasePage.win.d.ts +6 -0
  56. package/lib/E2E/common/BasePage.win.d.ts.map +1 -1
  57. package/lib/E2E/common/BasePage.win.js +45 -0
  58. package/lib/E2E/common/BasePage.win.js.map +1 -1
  59. package/lib-commonjs/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.js +3 -2
  60. package/lib-commonjs/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.js.map +1 -1
  61. package/lib-commonjs/E2E/Button/specs/Button.spec.win.js +9 -2
  62. package/lib-commonjs/E2E/Button/specs/Button.spec.win.js.map +1 -1
  63. package/lib-commonjs/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.js +6 -2
  64. package/lib-commonjs/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.js.map +1 -1
  65. package/lib-commonjs/E2E/Callout/specs/Callout.spec.win.js +3 -2
  66. package/lib-commonjs/E2E/Callout/specs/Callout.spec.win.js.map +1 -1
  67. package/lib-commonjs/E2E/Checkbox/specs/Checkbox.spec.win.js +8 -2
  68. package/lib-commonjs/E2E/Checkbox/specs/Checkbox.spec.win.js.map +1 -1
  69. package/lib-commonjs/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.js +6 -2
  70. package/lib-commonjs/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.js.map +1 -1
  71. package/lib-commonjs/E2E/ContextualMenu/specs/ContextualMenu.spec.win.js +5 -2
  72. package/lib-commonjs/E2E/ContextualMenu/specs/ContextualMenu.spec.win.js.map +1 -1
  73. package/lib-commonjs/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.js +3 -2
  74. package/lib-commonjs/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.js.map +1 -1
  75. package/lib-commonjs/E2E/FocusZone/specs/FocusZone.spec.win.js +3 -2
  76. package/lib-commonjs/E2E/FocusZone/specs/FocusZone.spec.win.js.map +1 -1
  77. package/lib-commonjs/E2E/Icon/specs/Icon.spec.win.js +3 -2
  78. package/lib-commonjs/E2E/Icon/specs/Icon.spec.win.js.map +1 -1
  79. package/lib-commonjs/E2E/Link/specs/Link.spec.win.js +5 -2
  80. package/lib-commonjs/E2E/Link/specs/Link.spec.win.js.map +1 -1
  81. package/lib-commonjs/E2E/MenuButton/specs/MenuButton.spec.win.js +8 -2
  82. package/lib-commonjs/E2E/MenuButton/specs/MenuButton.spec.win.js.map +1 -1
  83. package/lib-commonjs/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.js +6 -2
  84. package/lib-commonjs/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.js.map +1 -1
  85. package/lib-commonjs/E2E/Persona/specs/Persona.spec.win.js +3 -2
  86. package/lib-commonjs/E2E/Persona/specs/Persona.spec.win.js.map +1 -1
  87. package/lib-commonjs/E2E/PersonaCoin/specs/PersonaCoin.spec.win.js +3 -2
  88. package/lib-commonjs/E2E/PersonaCoin/specs/PersonaCoin.spec.win.js.map +1 -1
  89. package/lib-commonjs/E2E/Pressable/specs/Pressable.spec.win.js +3 -2
  90. package/lib-commonjs/E2E/Pressable/specs/Pressable.spec.win.js.map +1 -1
  91. package/lib-commonjs/E2E/RadioGroup/specs/RadioGroup.spec.win.js +12 -2
  92. package/lib-commonjs/E2E/RadioGroup/specs/RadioGroup.spec.win.js.map +1 -1
  93. package/lib-commonjs/E2E/Separator/specs/Separator.spec.win.js +3 -2
  94. package/lib-commonjs/E2E/Separator/specs/Separator.spec.win.js.map +1 -1
  95. package/lib-commonjs/E2E/Shimmer/specs/Shimmer.spec.win.js +3 -2
  96. package/lib-commonjs/E2E/Shimmer/specs/Shimmer.spec.win.js.map +1 -1
  97. package/lib-commonjs/E2E/Svg/specs/Svg.spec.win.js +3 -2
  98. package/lib-commonjs/E2E/Svg/specs/Svg.spec.win.js.map +1 -1
  99. package/lib-commonjs/E2E/Tabs/specs/Tabs.spec.win.js +7 -2
  100. package/lib-commonjs/E2E/Tabs/specs/Tabs.spec.win.js.map +1 -1
  101. package/lib-commonjs/E2E/TabsExperimental/specs/TabsExperimental.spec.win.js +5 -2
  102. package/lib-commonjs/E2E/TabsExperimental/specs/TabsExperimental.spec.win.js.map +1 -1
  103. package/lib-commonjs/E2E/Text/specs/Text.spec.win.js +6 -2
  104. package/lib-commonjs/E2E/Text/specs/Text.spec.win.js.map +1 -1
  105. package/lib-commonjs/E2E/TextExperimental/specs/ExperimentalText.spec.win.js +4 -2
  106. package/lib-commonjs/E2E/TextExperimental/specs/ExperimentalText.spec.win.js.map +1 -1
  107. package/lib-commonjs/E2E/Theme/specs/Theme.spec.win.js +3 -2
  108. package/lib-commonjs/E2E/Theme/specs/Theme.spec.win.js.map +1 -1
  109. package/lib-commonjs/E2E/Tokens/specs/Tokens.spec.win.js +3 -2
  110. package/lib-commonjs/E2E/Tokens/specs/Tokens.spec.win.js.map +1 -1
  111. package/lib-commonjs/E2E/common/BasePage.win.d.ts +6 -0
  112. package/lib-commonjs/E2E/common/BasePage.win.d.ts.map +1 -1
  113. package/lib-commonjs/E2E/common/BasePage.win.js +45 -0
  114. package/lib-commonjs/E2E/common/BasePage.win.js.map +1 -1
  115. package/package.json +3 -3
  116. package/src/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.ts +3 -2
  117. package/src/E2E/Button/specs/Button.spec.win.ts +9 -2
  118. package/src/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.ts +9 -2
  119. package/src/E2E/Callout/specs/Callout.spec.win.ts +3 -2
  120. package/src/E2E/Checkbox/specs/Checkbox.spec.win.ts +8 -2
  121. package/src/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.ts +9 -2
  122. package/src/E2E/ContextualMenu/specs/ContextualMenu.spec.win.ts +5 -2
  123. package/src/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.ts +3 -2
  124. package/src/E2E/FocusZone/specs/FocusZone.spec.win.ts +3 -2
  125. package/src/E2E/Icon/specs/Icon.spec.win.ts +3 -2
  126. package/src/E2E/Link/specs/Link.spec.win.ts +7 -2
  127. package/src/E2E/MenuButton/specs/MenuButton.spec.win.ts +8 -2
  128. package/src/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.ts +9 -2
  129. package/src/E2E/Persona/specs/Persona.spec.win.ts +3 -2
  130. package/src/E2E/PersonaCoin/specs/PersonaCoin.spec.win.ts +3 -2
  131. package/src/E2E/Pressable/specs/Pressable.spec.win.ts +3 -2
  132. package/src/E2E/RadioGroup/specs/RadioGroup.spec.win.ts +12 -2
  133. package/src/E2E/Separator/specs/Separator.spec.win.ts +3 -2
  134. package/src/E2E/Shimmer/specs/Shimmer.spec.win.ts +3 -2
  135. package/src/E2E/Svg/specs/Svg.spec.win.ts +3 -2
  136. package/src/E2E/Tabs/specs/Tabs.spec.win.ts +7 -2
  137. package/src/E2E/TabsExperimental/specs/TabsExperimental.spec.win.ts +7 -2
  138. package/src/E2E/Text/specs/Text.spec.win.ts +6 -2
  139. package/src/E2E/TextExperimental/specs/ExperimentalText.spec.win.ts +5 -2
  140. package/src/E2E/Theme/specs/Theme.spec.win.ts +3 -2
  141. package/src/E2E/Tokens/specs/Tokens.spec.win.ts +3 -2
  142. package/src/E2E/common/BasePage.win.ts +34 -0
@@ -13,7 +13,7 @@ import {
13
13
  describe('RadioGroup/RadioButton Testing Initialization', function () {
14
14
  it('Wait for app load', () => {
15
15
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
16
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
16
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
17
17
  });
18
18
 
19
19
  it('Click and navigate to RadioGroup test page', () => {
@@ -25,7 +25,8 @@ describe('RadioGroup/RadioButton Testing Initialization', function () {
25
25
  NavigateAppPage.clickAndGoToRadioGroupPage();
26
26
  RadioGroupPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
27
27
 
28
- expect(RadioGroupPageObject.isPageLoaded()).toBeTruthy();
28
+ expect(RadioGroupPageObject.isPageLoaded()).toBeTruthy(RadioGroupPageObject.ERRORMESSAGE_PAGELOAD);
29
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
29
30
  });
30
31
  });
31
32
 
@@ -38,26 +39,32 @@ describe('RadioGroup/RadioButton Accessibility Testing', () => {
38
39
 
39
40
  it("Validate RadioGroup's accessibilityRole is correct", () => {
40
41
  expect(RadioGroupPageObject.getAccessibilityRole()).toEqual(RADIOGROUP_A11Y_ROLE);
42
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT);
41
43
  });
42
44
 
43
45
  it("Validate RadioButton's accessibilityRole is correct", () => {
44
46
  expect(RadioGroupPageObject.getRadioButtonAccesibilityRole()).toEqual(RADIOBUTTON_A11Y_ROLE);
47
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT);
45
48
  });
46
49
 
47
50
  it('RadioGroup - Set accessibilityLabel', () => {
48
51
  expect(RadioGroupPageObject.getAccessibilityLabel(ComponentSelector.Primary)).toEqual(RADIOGROUP_ACCESSIBILITY_LABEL);
52
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT);
49
53
  });
50
54
 
51
55
  it('RadioGroup - Do not set accessibilityLabel -> Default to RadioGroup label', () => {
52
56
  expect(RadioGroupPageObject.getAccessibilityLabel(ComponentSelector.Secondary)).toEqual(RADIOGROUP_TEST_COMPONENT_LABEL);
57
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT);
53
58
  });
54
59
 
55
60
  it('RadioButton - Set accessibilityLabel', () => {
56
61
  expect(RadioGroupPageObject.getRBAccessibilityLabel(RadioButtonSelector.First)).toEqual(FIRST_RADIO_BUTTON_ACCESSIBILITY_LABEL);
62
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT);
57
63
  });
58
64
 
59
65
  it('RadioButton - Do not set accessibilityLabel -> Default to RadioButton label', () => {
60
66
  expect(RadioGroupPageObject.getRBAccessibilityLabel(RadioButtonSelector.Second)).toEqual(SECOND_RADIO_BUTTON_LABEL);
67
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT);
61
68
  });
62
69
  });
63
70
 
@@ -80,6 +87,7 @@ describe('RadioGroup Functional Testing', () => {
80
87
 
81
88
  /* Validate the RadioButton is selected */
82
89
  expect(RadioGroupPageObject.isRadioButtonSelected(RadioButtonSelector.Second)).toBeTruthy();
90
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT);
83
91
  });
84
92
 
85
93
  it('Keyboard to RadioButton and check for Selection state', () => {
@@ -89,6 +97,7 @@ describe('RadioGroup Functional Testing', () => {
89
97
 
90
98
  /* Validate the RadioButton is selected */
91
99
  expect(RadioGroupPageObject.isRadioButtonSelected(RadioButtonSelector.Second)).toBeTruthy();
100
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT);
92
101
  });
93
102
 
94
103
  it("Keyboard to DISABLED RadioButton and validate it doesn't get selected", () => {
@@ -98,5 +107,6 @@ describe('RadioGroup Functional Testing', () => {
98
107
 
99
108
  /* Validate the RadioButton is selected */
100
109
  expect(RadioGroupPageObject.isRadioButtonSelected(RadioButtonSelector.Fourth)).toBeTruthy();
110
+ expect(RadioGroupPageObject.didAssertPopup()).toBeFalsy(RadioGroupPageObject.ERRORMESSAGE_ASSERT);
101
111
  });
102
112
  });
@@ -6,7 +6,7 @@ import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
6
6
  describe('Separator Testing Initialization', function () {
7
7
  it('Wait for app load', () => {
8
8
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
9
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
9
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
10
10
  });
11
11
 
12
12
  it('Click and navigate to Separator test page', () => {
@@ -18,6 +18,7 @@ describe('Separator Testing Initialization', function () {
18
18
  NavigateAppPage.clickAndGoToSeparatorPage();
19
19
  SeparatorPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
20
20
 
21
- expect(SeparatorPageObject.isPageLoaded()).toBeTruthy();
21
+ expect(SeparatorPageObject.isPageLoaded()).toBeTruthy(SeparatorPageObject.ERRORMESSAGE_PAGELOAD);
22
+ expect(SeparatorPageObject.didAssertPopup()).toBeFalsy(SeparatorPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
22
23
  });
23
24
  });
@@ -6,7 +6,7 @@ import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
6
6
  describe('Shimmer Testing Initialization', function () {
7
7
  it('Wait for app load', () => {
8
8
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
9
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
9
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
10
10
  });
11
11
 
12
12
  it('Click and navigate to Shimmer test page', () => {
@@ -18,6 +18,7 @@ describe('Shimmer Testing Initialization', function () {
18
18
  NavigateAppPage.clickAndGoToShimmerPage();
19
19
  ShimmerPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
20
20
 
21
- expect(ShimmerPageObject.isPageLoaded()).toBeTruthy();
21
+ expect(ShimmerPageObject.isPageLoaded()).toBeTruthy(ShimmerPageObject.ERRORMESSAGE_PAGELOAD);
22
+ expect(ShimmerPageObject.didAssertPopup()).toBeFalsy(ShimmerPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
22
23
  });
23
24
  });
@@ -6,7 +6,7 @@ import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
6
6
  describe('Svg Testing Initialization', function () {
7
7
  it('Wait for app load', () => {
8
8
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
9
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
9
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
10
10
  });
11
11
 
12
12
  it('Click and navigate to Svg test page', () => {
@@ -18,6 +18,7 @@ describe('Svg Testing Initialization', function () {
18
18
  NavigateAppPage.clickAndGoToSvgPage();
19
19
  SvgPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
20
20
 
21
- expect(SvgPageObject.isPageLoaded()).toBeTruthy();
21
+ expect(SvgPageObject.isPageLoaded()).toBeTruthy(SvgPageObject.ERRORMESSAGE_PAGELOAD);
22
+ expect(SvgPageObject.didAssertPopup()).toBeFalsy(SvgPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
22
23
  });
23
24
  });
@@ -6,7 +6,7 @@ import { TAB_A11Y_ROLE, BOOT_APP_TIMEOUT, PAGE_TIMEOUT, TABITEM_A11Y_ROLE, Keys
6
6
  describe('Tabs Testing Initialization', function () {
7
7
  it('Wait for app load', () => {
8
8
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
9
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
9
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
10
10
  });
11
11
 
12
12
  it('Click and navigate to Tabs test page', () => {
@@ -18,7 +18,8 @@ describe('Tabs Testing Initialization', function () {
18
18
  NavigateAppPage.clickAndGoToTabsPage();
19
19
  TabsPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
20
20
 
21
- expect(TabsPageObject.isPageLoaded()).toBeTruthy();
21
+ expect(TabsPageObject.isPageLoaded()).toBeTruthy(TabsPageObject.ERRORMESSAGE_PAGELOAD);
22
+ expect(TabsPageObject.didAssertPopup()).toBeFalsy(TabsPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
22
23
  });
23
24
  });
24
25
 
@@ -31,10 +32,12 @@ describe('Tabs Accessibility Testing', () => {
31
32
 
32
33
  it("Validate Tab's accessibilityRole is correct", () => {
33
34
  expect(TabsPageObject.getAccessibilityRole()).toEqual(TAB_A11Y_ROLE);
35
+ expect(TabsPageObject.didAssertPopup()).toBeFalsy(TabsPageObject.ERRORMESSAGE_ASSERT);
34
36
  });
35
37
 
36
38
  it("Validate TabItem's accessibilityRole is correct", () => {
37
39
  expect(TabsPageObject.getTabItemAccesibilityRole(TabItemSelector.First)).toEqual(TABITEM_A11Y_ROLE);
40
+ expect(TabsPageObject.didAssertPopup()).toBeFalsy(TabsPageObject.ERRORMESSAGE_ASSERT);
38
41
  });
39
42
  });
40
43
 
@@ -53,6 +56,7 @@ describe('Tabs Functional Tests', () => {
53
56
  TabsPageObject.waitForTabsItemsToOpen(TabItemSelector.Second, PAGE_TIMEOUT);
54
57
 
55
58
  expect(TabsPageObject.didTabItemContentLoad(TabItemSelector.Second)).toBeTruthy();
59
+ expect(TabsPageObject.didAssertPopup()).toBeFalsy(TabsPageObject.ERRORMESSAGE_ASSERT);
56
60
  });
57
61
 
58
62
  it('Keyboarding: Arrow Navigation: Right -> Down -> Left -> Up -> Validate the correct TabItem content is shown', () => {
@@ -79,5 +83,6 @@ describe('Tabs Functional Tests', () => {
79
83
  TabsPageObject.waitForTabsItemsToOpen(TabItemSelector.First, PAGE_TIMEOUT);
80
84
 
81
85
  expect(TabsPageObject.didTabItemContentLoad(TabItemSelector.First)).toBeTruthy();
86
+ expect(TabsPageObject.didAssertPopup()).toBeFalsy(TabsPageObject.ERRORMESSAGE_ASSERT);
82
87
  });
83
88
  });
@@ -6,7 +6,7 @@ import { TAB_A11Y_ROLE, TABITEM_A11Y_ROLE, BOOT_APP_TIMEOUT, PAGE_TIMEOUT } from
6
6
  describe('Experimental Tabs Testing Initialization', function () {
7
7
  it('Wait for app load', () => {
8
8
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
9
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
9
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
10
10
  });
11
11
 
12
12
  it('Click and navigate to Experimental Tabs test page', () => {
@@ -18,7 +18,8 @@ describe('Experimental Tabs Testing Initialization', function () {
18
18
  NavigateAppPage.clickAndGoToExperimentalTabsPage();
19
19
  ExperimentalTabsPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
20
20
 
21
- expect(ExperimentalTabsPageObject.isPageLoaded()).toBeTruthy();
21
+ expect(ExperimentalTabsPageObject.isPageLoaded()).toBeTruthy(ExperimentalTabsPageObject.ERRORMESSAGE_PAGELOAD);
22
+ expect(ExperimentalTabsPageObject.didAssertPopup()).toBeFalsy(ExperimentalTabsPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
22
23
  });
23
24
  });
24
25
 
@@ -26,12 +27,16 @@ describe('Experimental Tabs Accessibility Testing', () => {
26
27
  it("Validate Experimental Tab's accessibilityRole is correct", () => {
27
28
  ExperimentalTabsPageObject.scrollToTestElement();
28
29
  ExperimentalTabsPageObject.waitForPrimaryElementDisplayed(PAGE_TIMEOUT);
30
+
29
31
  expect(ExperimentalTabsPageObject.getAccessibilityRole()).toEqual(TAB_A11Y_ROLE);
32
+ expect(ExperimentalTabsPageObject.didAssertPopup()).toBeFalsy(ExperimentalTabsPageObject.ERRORMESSAGE_ASSERT);
30
33
  });
31
34
 
32
35
  it("Validate Experimental TabItem's accessibilityRole is correct", () => {
33
36
  ExperimentalTabsPageObject.scrollToTestElement();
34
37
  ExperimentalTabsPageObject.waitForPrimaryElementDisplayed(PAGE_TIMEOUT);
38
+
35
39
  expect(ExperimentalTabsPageObject.getTabItemAccesibilityRole()).toEqual(TABITEM_A11Y_ROLE);
40
+ expect(ExperimentalTabsPageObject.didAssertPopup()).toBeFalsy(ExperimentalTabsPageObject.ERRORMESSAGE_ASSERT);
36
41
  });
37
42
  });
@@ -8,7 +8,7 @@ import { TEXT_ACCESSIBILITY_LABEL, TEXT_COMPONENT_CONTENT } from '../../../Fluen
8
8
  describe('Text Testing Initialization', function () {
9
9
  it('Wait for app load', () => {
10
10
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
11
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
11
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
12
12
  });
13
13
 
14
14
  it('Click and navigate to Text test page', () => {
@@ -20,7 +20,8 @@ describe('Text Testing Initialization', function () {
20
20
  NavigateAppPage.clickAndGoToTextPage();
21
21
  TextPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
22
22
 
23
- expect(TextPageObject.isPageLoaded()).toBeTruthy();
23
+ expect(TextPageObject.isPageLoaded()).toBeTruthy(TextPageObject.ERRORMESSAGE_PAGELOAD);
24
+ expect(TextPageObject.didAssertPopup()).toBeFalsy(TextPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
24
25
  });
25
26
  });
26
27
 
@@ -32,13 +33,16 @@ describe('Text Accessibility Testing', () => {
32
33
 
33
34
  it('Text - Validate accessibilityRole is correct', () => {
34
35
  expect(TextPageObject.getAccessibilityRole()).toEqual(TEXT_A11Y_ROLE);
36
+ expect(TextPageObject.didAssertPopup()).toBeFalsy(TextPageObject.ERRORMESSAGE_ASSERT);
35
37
  });
36
38
 
37
39
  it('Text - Set accessibilityLabel', () => {
38
40
  expect(TextPageObject.getAccessibilityLabel(ComponentSelector.Primary)).toEqual(TEXT_ACCESSIBILITY_LABEL);
41
+ expect(TextPageObject.didAssertPopup()).toBeFalsy(TextPageObject.ERRORMESSAGE_ASSERT);
39
42
  });
40
43
 
41
44
  it('Text - Do not accessibilityLabel -> Default to content', () => {
42
45
  expect(TextPageObject.getAccessibilityLabel(ComponentSelector.Secondary)).toEqual(TEXT_COMPONENT_CONTENT);
46
+ expect(TextPageObject.didAssertPopup()).toBeFalsy(TextPageObject.ERRORMESSAGE_ASSERT);
43
47
  });
44
48
  });
@@ -6,7 +6,7 @@ import { TEXT_A11Y_ROLE, PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/con
6
6
  describe('Experimental Text Testing Initialization', function () {
7
7
  it('Wait for app load', () => {
8
8
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
9
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
9
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
10
10
  });
11
11
 
12
12
  it('Click and navigate to Experimental Text test page', () => {
@@ -18,7 +18,8 @@ describe('Experimental Text Testing Initialization', function () {
18
18
  NavigateAppPage.clickAndGoToExperimentalTextPage();
19
19
  ExperimentalTextPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
20
20
 
21
- expect(ExperimentalTextPageObject.isPageLoaded()).toBeTruthy();
21
+ expect(ExperimentalTextPageObject.isPageLoaded()).toBeTruthy(ExperimentalTextPageObject.ERRORMESSAGE_PAGELOAD);
22
+ expect(ExperimentalTextPageObject.didAssertPopup()).toBeFalsy(ExperimentalTextPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
22
23
  });
23
24
  });
24
25
 
@@ -26,6 +27,8 @@ describe('Experimental Text Accessibility Testing', () => {
26
27
  it('Text - Validate accessibilityRole is correct', () => {
27
28
  ExperimentalTextPageObject.scrollToTestElement();
28
29
  ExperimentalTextPageObject.waitForPrimaryElementDisplayed(PAGE_TIMEOUT);
30
+
29
31
  expect(ExperimentalTextPageObject.getAccessibilityRole()).toEqual(TEXT_A11Y_ROLE);
32
+ expect(ExperimentalTextPageObject.didAssertPopup()).toBeFalsy(ExperimentalTextPageObject.ERRORMESSAGE_ASSERT);
30
33
  });
31
34
  });
@@ -6,7 +6,7 @@ import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
6
6
  describe('Theme Testing Initialization', function () {
7
7
  it('Wait for app load', () => {
8
8
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
9
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
9
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
10
10
  });
11
11
 
12
12
  it('Click and navigate to Theme test page', () => {
@@ -18,6 +18,7 @@ describe('Theme Testing Initialization', function () {
18
18
  NavigateAppPage.clickAndGoToThemePage();
19
19
  ThemePageObject.waitForPageDisplayed(PAGE_TIMEOUT);
20
20
 
21
- expect(ThemePageObject.isPageLoaded()).toBeTruthy();
21
+ expect(ThemePageObject.isPageLoaded()).toBeTruthy(ThemePageObject.ERRORMESSAGE_PAGELOAD);
22
+ expect(ThemePageObject.didAssertPopup()).toBeFalsy(ThemePageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
22
23
  });
23
24
  });
@@ -6,7 +6,7 @@ import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
6
6
  describe('Tokens Testing Initialization', function () {
7
7
  it('Wait for app load', () => {
8
8
  NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
9
- expect(NavigateAppPage.isPageLoaded()).toBeTruthy();
9
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
10
10
  });
11
11
 
12
12
  it('Click and navigate to Tokens test page', () => {
@@ -18,6 +18,7 @@ describe('Tokens Testing Initialization', function () {
18
18
  NavigateAppPage.clickAndGoToTokensPage();
19
19
  TokenPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
20
20
 
21
- expect(TokenPageObject.isPageLoaded()).toBeTruthy();
21
+ expect(TokenPageObject.isPageLoaded()).toBeTruthy(TokenPageObject.ERRORMESSAGE_PAGELOAD);
22
+ expect(TokenPageObject.didAssertPopup()).toBeFalsy(TokenPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
22
23
  });
23
24
  });
@@ -131,6 +131,23 @@ export class BasePage {
131
131
  );
132
132
  }
133
133
 
134
+ /* FUNCTIONALITY: Determines if an Assert has fired. True if yes; false otherwise
135
+ *
136
+ * WHY/HOW: Unfortunately, some Asserts don't take focus away from the test app. Because of this, the test execution is able
137
+ * to continue without realizing an assert as popped up (unless the assert is a crashing one).
138
+ *
139
+ * In order to detect an assert, this function gets the number of window handles currently open within the test app.
140
+ * Only one instance SHOULD be open at a time (the app itself). If another instance of the app is open, we know an assert dialogue
141
+ * has popped up. With this information, we know to fail the test.
142
+ *
143
+ * Additionally, you might think it's logical to simply place this in the afterEach() hook so it's called after every test (rather than duplicating this call in every test).
144
+ * Unfortunately, afterEach() is designed for setup/teardown - not for determining if a test should fail or not.
145
+ * */
146
+ didAssertPopup(): boolean {
147
+ // If more than 1 instance of the app is open, we know an assert dialogue popped up.
148
+ return browser.getWindowHandles().length > 1;
149
+ }
150
+
134
151
  /*****************************************/
135
152
  /**************** Getters ****************/
136
153
  /*****************************************/
@@ -172,6 +189,23 @@ export class BasePage {
172
189
  return DUMMY_CHAR;
173
190
  }
174
191
 
192
+ /****************** Error Messages ******************/
193
+ get ERRORMESSAGE_SUFFIX(): string {
194
+ return 'Please review logs and error screenshots for more information.';
195
+ }
196
+
197
+ get ERRORMESSAGE_APPLOAD(): string {
198
+ return 'The FluentTester app did not load correctly. ' + this.ERRORMESSAGE_SUFFIX;
199
+ }
200
+
201
+ get ERRORMESSAGE_PAGELOAD(): string {
202
+ return 'The ' + this._pageName + ' test page did not load correctly. ' + this.ERRORMESSAGE_SUFFIX;
203
+ }
204
+
205
+ get ERRORMESSAGE_ASSERT(): string {
206
+ return 'An assert popped up. ' + this.ERRORMESSAGE_SUFFIX;
207
+ }
208
+
175
209
  // Default timeout to wait until page is displayed (10s)
176
210
  waitForPageTimeout: number = 15000;
177
211
  }