//apply the template in client module
        void applyTemplate(GroupingTemplateHelper helper, ExecutionLog log)
        {
            log.Log("GroupingTemplate", "go to client");
            VisitOffice("clients");
            log.Log("GroupingTemplate", "search for test client");
            helper.TypeText("ClientSearch", "GroupingTest");
            log.Log("GroupingTemplate", "click test client");
            helper.ClickElement("YangTest");
            helper.WaitForWorkAround(2000);
            log.Log("GroupingTemplate", "go to company details");
            helper.ClickElement("CompanyDetails");
            helper.WaitForWorkAround(1000);
            log.Log("GroupingTemplate", "click assignments");
            helper.ClickElement("Assignments");
            helper.WaitForWorkAround(1000);
            log.Log("GroupingTemplate", "click templates tab");
            helper.ClickElement("TemplatesTab");
            log.Log("GroupingTemplate", "choose processor");
            helper.Select("TemplatesProcessor", "First Data Omaha");
            log.Log("GroupingTemplate", "type condition name");
            helper.TypeText("TemplateBN", "name");

            log.Log("GroupingTemplate", "load templates");
            helper.ClickElement("LoadTemplates");
            log.Log("GroupingTemplate", "select template");
            helper.SelectByText("TemplateDrop", "YangTest");
            log.Log("GroupingTemplate", "apply template");
            helper.ClickElement("TemplateApply");
            log.Log("GroupingTemplate", "acccept alert");
            helper.AlertOK();
            log.Log("GroupingTemplate", "template applied");
            helper.WaitForWorkAround(2000);
        }
        //create a new template
        void createTemplate(GroupingTemplateHelper helper, ExecutionLog log)
        {
            log.Log("GroupingTemplate", "go to grouping templates");
            VisitOffice("field_grouping_templates");
            log.Log("GroupingTemplate", "create a template");
            helper.ClickElement("Create");
            log.Log("GroupingTemplate", "type template name");
            helper.TypeText("TName", "YangTest");
            helper.WaitForWorkAround(1000);
            log.Log("GroupingTemplate", "choose template module");
            helper.Select("Module", "20");
            helper.WaitForWorkAround(1000);
            log.Log("GroupingTemplate", "choose template processor");
            helper.Select("Processor", "3291");
            helper.WaitForWorkAround(1000);
            log.Log("GroupingTemplate", "choose template condition");
            helper.Select("InputField", "client_details.company_dba_name");
            helper.WaitForWorkAround(1000);
            log.Log("GroupingTemplate", "condition: exists");
            helper.Select("InputOperator", "et");
            helper.WaitForWorkAround(1000);


            string[] CompanyDetails = { "1757", "1176", "3537" };
            string[] RateFee        = { "1579", "2194" };
            log.Log("GroupingTemplate", "start to add fields");
            setFields(helper, "14864", CompanyDetails, log);
            setFields(helper, "14868", RateFee, log);
            log.Log("GroupingTemplate", "save template");
            helper.ClickElement("SaveTemplate");
            log.Log("GroupingTemplate", "template saved");
        }