Skip to content

Commit 614d041

Browse files
authored
Merge pull request #69 from SourcePointUSA/DIA-4030-automate-ui-testing-message-language
DIA-4030 automate UI testing message language
2 parents 2e7fa26 + a98bca4 commit 614d041

File tree

11 files changed

+155
-20
lines changed

11 files changed

+155
-20
lines changed

Assets/ConsentManagementProvider/Scripts/enum/Android/MESSAGE_LANGUAGE_STRING_KEY.cs

+12
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,17 @@ internal const string
1717
GAELIC="GD",
1818
GERMAN="DE",
1919
GREEK="EL",
20+
HEBREW="HE",
2021
HUNGARIAN="HU",
2122
ICELANDIC="IS",
23+
INDONESIAN="ID",
2224
ITALIAN="IT",
2325
JAPANESE="JA",
26+
KOREAN="KO",
2427
LATVIAN="LV",
2528
LITHUANIAN="LT",
29+
MACEDONIAN="MK",
30+
MALAY="MS",
2631
NORWEGIAN="NO",
2732
POLISH="PL",
2833
PORTUGUESE="PT",
@@ -34,6 +39,7 @@ internal const string
3439
SLOVENIAN="SL",
3540
SPANISH="ES",
3641
SWEDISH="SV",
42+
TAGALOG="TL",
3743
TURKISH="TR";
3844
}
3945

@@ -54,12 +60,17 @@ internal const string
5460
GAELIC="GAELIC",
5561
GERMAN="GERMAN",
5662
GREEK="GREEK",
63+
HEBREW="HEBREW",
5764
HUNGARIAN="HUNGARIAN",
5865
ICELANDIC="ICELANDIC",
66+
INDONESIAN="INDONESIAN",
5967
ITALIAN="ITALIAN",
6068
JAPANESE="JAPANESE",
69+
KOREAN="KOREAN",
6170
LATVIAN="LATVIAN",
6271
LITHUANIAN="LITHUANIAN",
72+
MACEDONIAN="MACEDONIAN",
73+
MALAY="MALAY",
6374
NORWEGIAN="NORWEGIAN",
6475
POLISH="POLISH",
6576
PORTUGUESE="PORTUGUESE",
@@ -71,6 +82,7 @@ internal const string
7182
SLOVENIAN="SLOVENIAN",
7283
SPANISH="SPANISH",
7384
SWEDISH="SWEDISH",
85+
TAGALOG="TAGALOG",
7486
TURKISH="TURKISH";
7587
}
7688
}

Assets/ConsentManagementProvider/Scripts/enum/CMPEnumMapper.cs

+14-2
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ private static void InitializeMessageLanguageMapping()
5757
{
5858
messageLanguageToJavaKey = new Dictionary<MESSAGE_LANGUAGE, string>();
5959
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.BULGARIAN, MESSAGE_LANGUAGE_STRING_KEY.BULGARIAN);
60+
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CATALAN, MESSAGE_LANGUAGE_STRING_KEY.CATALAN);
6061
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CHINESE, MESSAGE_LANGUAGE_STRING_KEY.CHINESE);
6162
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CROATIAN, MESSAGE_LANGUAGE_STRING_KEY.CROATIAN);
6263
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CZECH, MESSAGE_LANGUAGE_STRING_KEY.CZECH);
@@ -69,12 +70,17 @@ private static void InitializeMessageLanguageMapping()
6970
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.GAELIC, MESSAGE_LANGUAGE_STRING_KEY.GAELIC);
7071
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.GERMAN, MESSAGE_LANGUAGE_STRING_KEY.GERMAN);
7172
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.GREEK, MESSAGE_LANGUAGE_STRING_KEY.GREEK);
73+
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.HEBREW, MESSAGE_LANGUAGE_STRING_KEY.HEBREW);
7274
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.HUNGARIAN, MESSAGE_LANGUAGE_STRING_KEY.HUNGARIAN);
7375
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.ICELANDIC, MESSAGE_LANGUAGE_STRING_KEY.ICELANDIC);
76+
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.INDONESIAN, MESSAGE_LANGUAGE_STRING_KEY.INDONESIAN);
7477
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.ITALIAN, MESSAGE_LANGUAGE_STRING_KEY.ITALIAN);
7578
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.JAPANESE, MESSAGE_LANGUAGE_STRING_KEY.JAPANESE);
79+
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.KOREAN, MESSAGE_LANGUAGE_STRING_KEY.KOREAN);
7680
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.LATVIAN, MESSAGE_LANGUAGE_STRING_KEY.LATVIAN);
7781
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.LITHUANIAN, MESSAGE_LANGUAGE_STRING_KEY.LITHUANIAN);
82+
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.MACEDONIAN, MESSAGE_LANGUAGE_STRING_KEY.MACEDONIAN);
83+
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.MALAY, MESSAGE_LANGUAGE_STRING_KEY.MALAY);
7884
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.NORWEGIAN, MESSAGE_LANGUAGE_STRING_KEY.NORWEGIAN);
7985
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.POLISH, MESSAGE_LANGUAGE_STRING_KEY.POLISH);
8086
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.PORTUGUESE, MESSAGE_LANGUAGE_STRING_KEY.PORTUGUESE);
@@ -86,14 +92,15 @@ private static void InitializeMessageLanguageMapping()
8692
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.SLOVENIAN, MESSAGE_LANGUAGE_STRING_KEY.SLOVENIAN);
8793
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.SPANISH, MESSAGE_LANGUAGE_STRING_KEY.SPANISH);
8894
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.SWEDISH, MESSAGE_LANGUAGE_STRING_KEY.SWEDISH);
95+
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.TAGALOG, MESSAGE_LANGUAGE_STRING_KEY.TAGALOG);
8996
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.TURKISH, MESSAGE_LANGUAGE_STRING_KEY.TURKISH);
90-
messageLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CATALAN, MESSAGE_LANGUAGE_STRING_KEY.CATALAN);
9197
}
9298

9399
private static void InitializeMessageFullLanguageMapping()
94100
{
95101
messageFullLanguageToJavaKey = new Dictionary<MESSAGE_LANGUAGE, string>();
96102
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.BULGARIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.BULGARIAN);
103+
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CATALAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.CATALAN);
97104
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CHINESE, MESSAGE_LANGUAGE_FULL_STRING_KEY.CHINESE);
98105
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CROATIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.CROATIAN);
99106
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CZECH, MESSAGE_LANGUAGE_FULL_STRING_KEY.CZECH);
@@ -106,12 +113,17 @@ private static void InitializeMessageFullLanguageMapping()
106113
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.GAELIC, MESSAGE_LANGUAGE_FULL_STRING_KEY.GAELIC);
107114
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.GERMAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.GERMAN);
108115
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.GREEK, MESSAGE_LANGUAGE_FULL_STRING_KEY.GREEK);
116+
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.HEBREW, MESSAGE_LANGUAGE_FULL_STRING_KEY.HEBREW);
109117
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.HUNGARIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.HUNGARIAN);
110118
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.ICELANDIC, MESSAGE_LANGUAGE_FULL_STRING_KEY.ICELANDIC);
119+
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.INDONESIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.INDONESIAN);
111120
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.ITALIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.ITALIAN);
112121
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.JAPANESE, MESSAGE_LANGUAGE_FULL_STRING_KEY.JAPANESE);
122+
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.KOREAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.KOREAN);
113123
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.LATVIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.LATVIAN);
114124
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.LITHUANIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.LITHUANIAN);
125+
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.MACEDONIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.MACEDONIAN);
126+
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.MALAY, MESSAGE_LANGUAGE_FULL_STRING_KEY.MALAY);
115127
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.NORWEGIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.NORWEGIAN);
116128
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.POLISH, MESSAGE_LANGUAGE_FULL_STRING_KEY.POLISH);
117129
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.PORTUGUESE, MESSAGE_LANGUAGE_FULL_STRING_KEY.PORTUGUESE);
@@ -123,8 +135,8 @@ private static void InitializeMessageFullLanguageMapping()
123135
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.SLOVENIAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.SLOVENIAN);
124136
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.SPANISH, MESSAGE_LANGUAGE_FULL_STRING_KEY.SPANISH);
125137
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.SWEDISH, MESSAGE_LANGUAGE_FULL_STRING_KEY.SWEDISH);
138+
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.TAGALOG, MESSAGE_LANGUAGE_FULL_STRING_KEY.TAGALOG);
126139
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.TURKISH, MESSAGE_LANGUAGE_FULL_STRING_KEY.TURKISH);
127-
messageFullLanguageToJavaKey.Add(MESSAGE_LANGUAGE.CATALAN, MESSAGE_LANGUAGE_FULL_STRING_KEY.CATALAN);
128140
}
129141

130142
private static void InitializeCampaignEnvMapping()

Assets/ConsentManagementProvider/Scripts/enum/MESSAGE_LANGUAGE.cs

+24-18
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,29 @@ public enum MESSAGE_LANGUAGE
2020
GAELIC = 12,
2121
GERMAN = 13,
2222
GREEK = 14,
23-
HUNGARIAN = 15,
24-
ICELANDIC = 16,
25-
ITALIAN = 17,
26-
JAPANESE = 18,
27-
LATVIAN = 19,
28-
LITHUANIAN = 20,
29-
NORWEGIAN = 21,
30-
POLISH = 22,
31-
PORTUGUESE = 23,
32-
ROMANIAN = 24,
33-
RUSSIAN = 25,
34-
SERBIAN_CYRILLIC = 26,
35-
SERBIAN_LATIN = 27,
36-
SLOVAKIAN = 28,
37-
SLOVENIAN = 29,
38-
SPANISH = 30,
39-
SWEDISH = 31,
40-
TURKISH = 32
23+
HEBREW = 15,
24+
HUNGARIAN = 16,
25+
ICELANDIC = 17,
26+
INDONESIAN = 18,
27+
ITALIAN = 19,
28+
JAPANESE = 20,
29+
KOREAN = 21,
30+
LATVIAN = 22,
31+
LITHUANIAN = 23,
32+
MACEDONIAN = 24,
33+
MALAY = 25,
34+
NORWEGIAN = 26,
35+
POLISH = 27,
36+
PORTUGUESE = 28,
37+
ROMANIAN = 29,
38+
RUSSIAN = 30,
39+
SERBIAN_CYRILLIC = 31,
40+
SERBIAN_LATIN = 32,
41+
SLOVAKIAN = 33,
42+
SLOVENIAN = 34,
43+
SPANISH = 35,
44+
SWEDISH = 36,
45+
TAGALOG = 37,
46+
TURKISH = 38
4147
}
4248
}

Assets/ConsentManagementProvider/Scripts/facade/CMPTestUtils.cs

+35
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,45 @@
11
using System;
2+
using System.Collections.Generic;
23

34
namespace ConsentManagementProvider
45
{
56
public static class CMPTestUtils
67
{
78
static bool delegateCalled = false;
9+
10+
public static void InitializeWithLanguage(
11+
string languageKey)
12+
{
13+
MESSAGE_LANGUAGE language = (MESSAGE_LANGUAGE)Int32.Parse(languageKey);
14+
15+
List<CAMPAIGN_TYPE> campaignTypes = new ();
16+
List<SpCampaign> spCampaigns = new List<SpCampaign>();
17+
List<TargetingParam> gdprParams = new List<TargetingParam> { new TargetingParam("location", "EU") };
18+
SpCampaign gdpr = new SpCampaign(CAMPAIGN_TYPE.GDPR, gdprParams);
19+
spCampaigns.Add(gdpr);
20+
campaignTypes.Add(CAMPAIGN_TYPE.GDPR);
21+
22+
List<TargetingParam> ccpaParams = new List<TargetingParam> { new TargetingParam("location", "US") };
23+
SpCampaign ccpa = new SpCampaign(CAMPAIGN_TYPE.CCPA, ccpaParams);
24+
spCampaigns.Add(ccpa);
25+
campaignTypes.Add(CAMPAIGN_TYPE.CCPA);
26+
27+
List<TargetingParam> usnatParams = new List<TargetingParam> { new TargetingParam("location", "US") };
28+
SpCampaign usnat = new SpCampaign(CAMPAIGN_TYPE.USNAT, usnatParams, transitionCCPAAuth: false, supportLegacyUSPString: false);
29+
spCampaigns.Add(usnat);
30+
campaignTypes.Add(CAMPAIGN_TYPE.USNAT);
31+
32+
CMP.Instance.Initialize(
33+
spCampaigns: spCampaigns,
34+
accountId: 22,
35+
propertyId: 16893,
36+
propertyName: "mobile.multicampaign.demo",
37+
language: language,
38+
campaignsEnvironment: CAMPAIGN_ENV.PUBLIC,
39+
messageTimeoutInSeconds: 30
40+
);
41+
}
42+
843
public static void LoadPrivacyManager(
944
string campaignType,
1045
string pmId)

UI-TESTS/FirstLayer.cs

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ namespace UnityAppiumTests
33
public abstract class FirstLayer
44
{
55
public abstract string textViewPath { get; }
6+
public abstract string textViewPathES { get; }
67
public abstract string showOptionsPath { get; }
78
public abstract string rejectAllPath { get; }
89
public abstract string acceptAllPath { get; }

UI-TESTS/FirstLayerCCPA.cs

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ public abstract class FirstLayerCCPA: FirstLayer
88
public class FirstLayerCCPAAndroid: FirstLayerCCPA
99
{
1010
public override string textViewPath => "//android.widget.TextView[@text='CCPA Message']";
11+
public override string textViewPathES => "//android.widget.TextView[@text='Mensaje CCPA']";
1112
public override string showOptionsPath => "//android.widget.Button[@text='Show Options']";
1213
public override string rejectAllPath => "//android.widget.Button[@text='Reject All']";
1314
public override string acceptAllPath => "//android.widget.Button[@text='Accept All']";
@@ -21,6 +22,7 @@ public class FirstLayerCCPAAndroid: FirstLayerCCPA
2122
public class FirstLayerCCPAIOS: FirstLayerCCPA
2223
{
2324
public override string textViewPath => "//XCUIElementTypeStaticText[@name='CCPA Message']";
25+
public override string textViewPathES => "//XCUIElementTypeStaticText[@name='Mensaje CCPA']";
2426
public override string showOptionsPath => "//XCUIElementTypeButton[@name='Show Options']";
2527
public override string rejectAllPath => "//XCUIElementTypeButton[@name='Reject All']";
2628
public override string acceptAllPath => "//XCUIElementTypeButton[@name='Accept All']";

UI-TESTS/FirstLayerGDPR.cs

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public void pressAcceptAll()
1717
public class FirstLayerGDPRAndroid: FirstLayerGDPR
1818
{
1919
public override string textViewPath => "//android.widget.TextView[@text='GDPR Message']";
20+
public override string textViewPathES => "//android.widget.TextView[@text='GDPR Message']";
2021
public override string showOptionsPath => "//android.widget.Button[@text='Show Options']";
2122
public override string rejectAllPath => "//android.widget.Button[@text='Reject All']";
2223
public override string acceptAllPath => "//android.widget.Button[@text='Accept All']";
@@ -31,6 +32,7 @@ public class FirstLayerGDPRAndroid: FirstLayerGDPR
3132
public class FirstLayerGDPRIOS: FirstLayerGDPR
3233
{
3334
public override string textViewPath => "//XCUIElementTypeStaticText[@name='GDPR Message']";
35+
public override string textViewPathES => "//XCUIElementTypeStaticText[@name='GDPR Message']";
3436
public override string showOptionsPath => "//XCUIElementTypeButton[@name='Show Options']";
3537
public override string rejectAllPath => "//XCUIElementTypeButton[@name='Reject All']";
3638
public override string acceptAllPath => "//XCUIElementTypeButton[@name='Accept All']";

UI-TESTS/FirstLayerUSNAT.cs

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public abstract class FirstLayerUSNAT: FirstLayer
99
public class FirstLayerUSNATAndroid: FirstLayerUSNAT
1010
{
1111
public override string textViewPath => "//android.widget.TextView[@text='USNat Message']";
12+
public override string textViewPathES => "//android.widget.TextView[@text='USNat Message']";
1213
public override string showOptionsPath => "//android.widget.Button[@text='Show Options']";
1314
public override string rejectAllPath => "//android.widget.Button[@text='Reject All']";
1415
public override string acceptAllPath => "//android.widget.Button[@text='Accept All']";
@@ -21,6 +22,7 @@ public class FirstLayerUSNATAndroid: FirstLayerUSNAT
2122
public class FirstLayerUSNATIOS: FirstLayerUSNAT
2223
{
2324
public override string textViewPath => "//XCUIElementTypeStaticText[@name='USNat Message']";
25+
public override string textViewPathES => "//XCUIElementTypeStaticText[@name='USNat Message']";
2426
public override string showOptionsPath => "//XCUIElementTypeButton[@name='Show Options']";
2527
public override string rejectAllPath => "//XCUIElementTypeButton[@name='Reject All']";
2628
public override string acceptAllPath => "//XCUIElementTypeButton[@name='Accept All']";

UI-TESTS/PmLayerGDPR.cs

+6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ namespace UnityAppiumTests
22
{
33
public abstract class PmLayerGDPR: PmLayer
44
{
5+
public abstract string textViewPathES { get; }
6+
public abstract string textViewPathTL { get; }
57
public abstract string attributeName { get; }
68
public abstract string attributeValue { get; }
79

@@ -11,6 +13,8 @@ public abstract class PmLayerGDPR: PmLayer
1113
public class PmLayerGDPRAndroid: PmLayerGDPR
1214
{
1315
public override string textViewPath => "//android.widget.TextView[@text='GDPR Privacy Manager']";
16+
public override string textViewPathES => "//android.widget.TextView[@text='Centro de Privacidad GDPR']";
17+
public override string textViewPathTL => "//android.widget.TextView[@text='Tagalog']";
1418
public override string saveAndExitPath => "//android.widget.Button[@text='Save & Exit']";
1519
public override string rejectAllPath => "//android.widget.Button[@text='Reject All']";
1620
public override string acceptAllPath => "//android.widget.Button[@text='Accept All']";
@@ -35,6 +39,8 @@ public class PmLayerGDPRAndroid: PmLayerGDPR
3539
public class PmLayerGDPRIOS: PmLayerGDPR
3640
{
3741
public override string textViewPath => "//XCUIElementTypeStaticText[@name='GDPR Privacy Manager']";
42+
public override string textViewPathES => "//XCUIElementTypeStaticText[@name='Centro de Privacidad GDPR']";
43+
public override string textViewPathTL => "//XCUIElementTypeStaticText[@name='Tagalog']";
3844
public override string saveAndExitPath => "//XCUIElementTypeButton[@name='Save & Exit']";
3945
public override string rejectAllPath => "//XCUIElementTypeButton[@name='Reject All']";
4046
public override string acceptAllPath => "//XCUIElementTypeButton[@name='Accept All']";

0 commit comments

Comments
 (0)