private static void ProcessingAction(Page page, eCampusPlusUser eCampusPlusUser, eCampusPlusConfiguration eCampusPlusConfig)
        {
            var eCampusUserProperties = eCampusPlusUser.GetType().GetProperties();
            page.PageElements.ForEach(e =>
            {
                var property = eCampusUserProperties.FirstOrDefault(p => p.Name.Equals(e.Name));
                if (property != null)
                {
                    string value = property .GetValue(eCampusPlusUser).ToString();
                    PagesHelper.PerformAction((PagesHelper.ActionElementType)Enum.Parse(typeof(PagesHelper.ActionElementType), e.ElementType, true), e.Accessor, value);
                    Thread.Sleep(400);
                    if (e.RequireReload)
                    {
                        Browser.WebDriver.Navigate().Refresh();
                        e.PreActionField.ForEach(pre =>
                        {
                            PagesHelper.PerformAction((PagesHelper.ActionElementType)Enum.Parse(typeof(PagesHelper.ActionElementType), pre.ElementType, true), pre.Accessor);
                            Thread.Sleep(50);
                        });

                    }
                }
            });
        }
        public static void RunTest(int stepInProcess, string generatedUrl = "")
        {
            var eCampusPlusUser = new eCampusPlusUser();
            JsonSerializer serializer = new JsonSerializer();
            serializer.Converters.Add(new JavaScriptDateTimeConverter());
            serializer.NullValueHandling = NullValueHandling.Ignore;

            using (StreamReader sr = new StreamReader(@"E:\eCampusPlusPOCData\eCampusPlusTestData\eCampusPlusTestData.json"))
            {
                eCampusPlusUser = serializer.Deserialize(sr, eCampusPlusUser.GetType()) as eCampusPlusUser;
            }

            var eCampusPlusConfig = new eCampusPlusConfiguration();
            using (StreamReader sr = new StreamReader(@"E:\eCampusPlusPOCData\eCampusPlusEngineData\eCampusPlusEngineData.json"))
            {
                eCampusPlusConfig = serializer.Deserialize(sr, eCampusPlusConfig.GetType()) as eCampusPlusConfiguration;
            }

            //Browser start
            //Browser.SetWebDriver("FIREFOX");

            string plateformeId = "FR";
            string targetId = "MA";
            string pageId = string.Empty;
            string url = string.Empty;
            Page page = null;

            switch (stepInProcess)
            {
                case 1:
                    //REGISTRATION
                    pageId = "RGTR";
                    url = eCampusPlusConfig.Plateforme.FirstOrDefault(pt => pt.PlateformeId.Equals(plateformeId))
                            .Targets.FirstOrDefault(t => t.TargetId.Equals(targetId))
                            .Accesses.FirstOrDefault(a => a.AccesseId.Equals(pageId))
                            .Url;
                    page = new Page(plateformeId, pageId, url);
                    ProcessingAction(page, eCampusPlusUser, eCampusPlusConfig);
                    break;
                case 2:
                    //Confirmation
                    pageId = "ACNT-CONF";
                    url = generatedUrl;
                    //Exemple d'URL "http://pastel.diplomatie.gouv.fr/etudesenfrance/dyn/public/confirmerCompte.html?ticket=083d2bfa-8129-4d2a-b932-3ebbe4a070b7";
                    page = new Page(plateformeId, pageId, url);
                    ProcessingAction(page, eCampusPlusUser, eCampusPlusConfig);
                    break;
                case 3:
                    //LOGIN
                    pageId = "ACNT-LGN";
                    url =
                        eCampusPlusConfig.Plateforme.FirstOrDefault(pt => pt.PlateformeId.Equals(plateformeId))
                            .Targets.FirstOrDefault(t => t.TargetId.Equals(targetId))
                            .Accesses.FirstOrDefault(a => a.AccesseId.Equals(pageId))
                            .Url;
                    page = new Page(plateformeId, pageId, url);
                    ProcessingAction(page, eCampusPlusUser, eCampusPlusConfig);

                    //SET FILE DATA
                    pageId = "ACNT-CAND-STDNT-INFO";
                    page = new Page(plateformeId, pageId, string.Empty, false);
                    ProcessingAction(page, eCampusPlusUser, eCampusPlusConfig);

                    pageId = "ACNT-CAND-STDNT-SKILLS";
                    page = new Page(plateformeId, pageId, string.Empty, false);
                    ProcessingAction(page, eCampusPlusUser, eCampusPlusConfig);

                    pageId = "ACNT-CAND-STDNT-LANGUA";
                    page = new Page(plateformeId, pageId, string.Empty, false);
                    ProcessingAction(page, eCampusPlusUser, eCampusPlusConfig);
                    break;
            }

            //END
            //Browser.WebDriver.Quit();
        }