/**
   * Script Name : <b>SP_Email_DB_mbo_attr_date</b> Generated : <b>Sep 13, 2011 2:25:24 PM</b>
   * Description : Functional Test Script Original Host : WinNT Version 5.1 Build 2600 (S)
   *
   * @since 2011/09/13
   * @author FANFEI
   */
  public void testMain(Object[] args) {
    // TODO Insert code here
    WN.useProject(Cfg.projectName);
    EE.dnd("Database Connections->My Sample Database->sampledb->Tables->employee (dba)");
    WN.createWorkFlow(new WorkFlow().startParameter(Cfg.projectName).name(Cfg.wfName));
    WorkFlowEditor.addStartingPoint(new StartPoint().type(WorkFlow.SP_SERVER_INIT));

    PropertiesView.setEmailMbo("Employee", Cfg.projectName);
    WorkFlowEditor.addScreen("A");
    WorkFlowEditor.link(WorkFlow.SP_SERVER_INIT, "A");
    DOF.getWFServerInitiateFlowStartingPointFigure().click();

    PropertiesView.clickTab("Keys");
    PropertiesView.setNewKeyBindMBO("key1,string,Employee,birth_date");
    vpManual(
            "Properies",
            "key1,DateTime,Employee/birth_date",
            PropertiesView.getKeyAttributesofStartPoint(new StartPoint()).getKey())
        .performTest();

    PropertiesView.setKeyUserDefined("key1");
    vpManual(
            "Properies",
            "key1,DateTime,",
            PropertiesView.getKeyAttributesofStartPoint(new StartPoint()).getKey())
        .performTest();
    vpManual("noerror", 0, Problems.getErrors().size()).performTest();
  }
Exemplo n.º 2
0
  /**
   * Script Name : <b>Mgrt_201To213_ACUD_1</b> Generated : <b>May 9, 2012 5:12:22 PM</b> Description
   * : Functional Test Script Original Host : WinNT Version 5.1 Build 2600 (S)
   *
   * @since 2012/05/09
   * @author jiaozhou
   */
  public void testMain(Object[] args) {
    WN.deleteAllProject();

    WN.importProjectFromFile(Cfg.PROJECT201);
    sleep(3);
    WN.openLegacyProjectMbo("pro201", "Department", true);
    vpManual("noError", 0, WN.getMigratingResult().errors().size()).performTest();
    vpManual("noError", 0, Problems.getErrors().size()).performTest();

    WN.deployProject(
        new DeployOption()
            .startParameter(Cfg.projectName1)
            .server("My Unwired Server")
            .mode(DeployOption.MODE_REPLACE)
            .serverConnectionMapping("My Sample Database,sampledb"));

    WFCustomizer.runTest(
        new WorkFlowPackage()
            .startParameter(WN.filePath(Cfg.projectName1, "asynccrudwf"))
            .unwiredServer("My Unwired Server")
            .deployToServer("true")
            .assignToSelectedUser("dt"),
        customTestScript()
        //			"tplan.Workflow.iconcommon.BB.Mgrt_icons.Script"
        );
    sleep(5);
    vpManual(
            "db",
            1,
            getDB("select * from Department where dept_id=2 and dept_name='b' and dept_head_id=2"))
        .performTest();
  }
Exemplo n.º 3
0
 /**
  * Script Name : <b>I18N_MR_From_Android</b> Generated : <b>Nov 28, 2011 6:43:28 AM</b>
  * Description : Functional Test Script Original Host : WinNT Version 5.1 Build 2600 (S)
  *
  * @since 2011/11/28
  * @author flvxp
  */
 public void testMain(Object[] args) {
   WN.useProject(Cfg.projectName);
   EE.runSQL(
       new ScrapbookCP().database("sampledb").type("Sybase_ASA_12.x").name("My Sample Database"),
       GlobalConfig.getRFTProjectRoot() + "/testscript/Workflow/I18N/conf/I18N_ddl.sql");
   // MBO
   EE.dnd("Database Connections->My Sample Database->sampledb->Tables->I18N (dba)");
   WN.deployProject(
       new DeployOption()
           .startParameter(Cfg.projectName)
           .mode(DeployOption.MODE_REPLACE)
           .server("My Unwired Server")
           .serverConnectionMapping("My Sample Database,sampledb"));
   // WF
   WN.createWorkFlow(
       new WorkFlow()
           .startParameter(Cfg.projectName)
           .name("myWF")
           .option(WorkFlow.SP_SERVER_INIT)
           .mbo("I18N")
           .objectQuery("findAll")
           .from("所有")
           .to("supAdmin")
           .cc("supAdmin")
           .subject("subject")
           .fromMatchingRule("所有")
           .body("body")
           .verifyTo("To,supAdmin", true));
   //
   vpManual("error", 0, Problems.getErrors().size()).performTest();
   //
   WFCustomizer.runTest(
       new WorkFlowPackage()
           .startParameter(WN.filePath(Cfg.projectName, Cfg.wfName))
           .assignToUser("supAdmin")
           .unwiredServer("My Unwired Server")
           .deployToServer("true")
           .verifyResult("Assigning workflow myWF to supAdmin", true),
       customTestScript(),
       "tplan.Workflow.common.StartWF_android",
       new CallBackMethod()
           .receiver(WorkFlowEditor.class)
           .methodName("sendNotification")
           .parameter(
               new Email()
                   .unwiredServer("My Unwired Server")
                   .to("supAdmin")
                   .from("所有")
                   .subject("subject")
                   .body("body")));
   WFCustomizer.verifyResult(new WFClientResult().data("list_items_count=2"));
 }
Exemplo n.º 4
0
 /**
  * Script Name : <b>NQ_6</b> Generated : <b>Oct 10, 2011 4:28:51 PM</b> Description : Functional
  * Test Script Original Host : WinNT Version 5.1 Build 2600 (S)
  *
  * @since 2011/10/10
  * @author flvVm
  */
 public void testMain(Object[] args) {
   WN.useProject(Cfg.projectName);
   // MBO
   EE.dnd("Database Connections->My Sample Database->sampledb->Tables->department (dba)");
   // MBOProperties mbo = new MBOProperties(Cfg.projectName, "Department");
   WN.createObjectQuery(
       new ObjectQuery()
           .name("ObjQuery")
           .startParameter(WN.mboPath(Cfg.projectName, "Department"))
           .parameter("name,string,true,dept_name")
           .queryDefinition("SELECT x.* FROM Department x WHERE x.dept_name = :name")
           .returnType(ObjectQueryWizard.RT_MULTIPLE));
   // WF
   WN.createWorkFlow(new WorkFlow().startParameter(Cfg.projectName).name("myWF"));
   WorkFlowEditor.addStartingPoint(new StartPoint().type(WorkFlow.SP_CLIENT_INIT));
   WorkFlowEditor.addScreen("invokeScr");
   WorkFlowEditor.addScreen("resultScr");
   WorkFlowEditor.link("Client-initiated", "invokeScr");
   //
   WorkFlowEditor.addEditBox(
       Cfg.projectName,
       "myWF.xbw",
       "invokeScr",
       new WFEditBox().label("dept_Name").logicalType("TEXT").newKey("nameVal,string"));
   WorkFlowEditor.addMenuItem(
       "invokeScr",
       new WFScreenMenuItem()
           .name("ObjectQuery")
           .type("Online Request")
           .project(Cfg.projectName)
           .mbo("Department")
           .objectQuery("ObjQuery")
           .parametermapping("name,nameVal")
           .defaultSuccessScreen("resultScr"));
   //
   PropertiesView.clickTab("General");
   vpManual(
           "objectquery",
           true,
           DOF.getCCombo(DOF.getRoot(), "Object query:").getProperty("text").equals("ObjQuery"))
       .performTest();
   // vpManual("parameters", "name,nameVal",
   // PropertiesView.getMenuItem("ObjectQuery").getParameterMapping()[0]).performTest();
   //
   vpManual("error", 0, Problems.getErrors().size()).performTest();
 }
Exemplo n.º 5
0
  /**
   * Script Name : <b>ACT_OCSC_RT_Android</b> Generated : <b>Oct 24, 2011 4:15:45 AM</b> Description
   * : Functional Test Script Original Host : WinNT Version 5.1 Build 2600 (S)
   *
   * @since 2011/10/24
   * @author flvxp
   */
  public void testMain(Object[] args) {
    WN.useProject(Cfg.projectName);
    //		WN.deployProject(new DeployOption().startParameter(Cfg.projectName)
    //				.server("My Unwired Server")
    //				.serverConnectionMapping("My Sample Database,sampledb"));
    // WF
    WN.createWorkFlow(
        new WorkFlow()
            .startParameter(Cfg.projectName)
            .name("myWF")
            .option(WorkFlow.SP_CLIENT_INIT));
    //
    WorkFlowEditor.addScreen("OpenCancel");
    WorkFlowEditor.addScreen("SaveScreen");
    WorkFlowEditor.link("Start Screen", "OpenCancel");
    WorkFlowEditor.link("Start Screen", "SaveScreen");
    WorkFlowEditor.addEditBox(
        Cfg.projectName,
        "myWF.xbw",
        "SaveScreen",
        new WFEditBox().label("dept_id").newKey("dept_id,int"));
    WorkFlowEditor.addEditBox(
        Cfg.projectName, "myWF.xbw", "OpenCancel", new WFEditBox().label("dept_id").key("dept_id"));
    //
    WorkFlowEditor.addMenuItem(
        "Start Screen", new WFScreenMenuItem().name("Close").type("Close Workflow"));
    WorkFlowEditor.addMenuItem(
        "OpenCancel", new WFScreenMenuItem().name("Cancel").type("Cancel Screen"));
    WorkFlowEditor.addMenuItem(
        "SaveScreen", new WFScreenMenuItem().name("Cancel").type("Cancel Screen"));
    //
    vpManual("error", 0, Problems.getErrors().size()).performTest();

    //
    WFCustomizer.runTest(
        new WorkFlowPackage()
            .startParameter(WN.filePath(Cfg.projectName, Cfg.wfName))
            .assignToUser("supAdmin")
            .unwiredServer("My Unwired Server")
            .deployToServer("true")
            .verifyResult("Assigning workflow myWF to supAdmin", true),
        customTestScript(),
        "tplan.Workflow.common.StartWF_android");
    WFCustomizer.verifyResult(new WFClientResult().data("id=deptid,value=12"));
  }
  /**
   * Script Name : <b>S675478_SentByServerKey_Following_Client</b> Generated : <b>Mar 12, 2012
   * 4:15:49 AM</b> Description : Functional Test Script Original Host : WinNT Version 5.1 Build
   * 2600 (S)
   *
   * @since 2012/03/12
   * @author ffan
   */
  public void testMain(Object[] args) {
    // TODO Insert code here
    WN.useProject(Cfg.projectName);
    EE.dnd("Database Connections->My Sample Database->sampledb->Tables->department (dba)", 10, 10);

    WN.createWorkFlow(
        new WorkFlow()
            .startParameter(Cfg.projectName)
            .name("myWF")
            .option(WorkFlow.SP_CLIENT_INIT));

    WorkFlowEditor.dragMbo(Cfg.projectName, "Department");
    WorkFlowEditor.addMenuItem(
        "Start",
        new WFScreenMenuItem()
            .name("findall")
            .project(Cfg.projectName)
            .type("Online Request")
            .mbo("Department")
            .objectQuery("findAll")
            .defaultSuccessScreen("DepartmentDetail"));
    MainMenu.saveAll();
    vpManual("noerror", 0, Problems.getErrors().size()).performTest();
  }
  /**
   * Script Name : <b>EMailTriggering_E2E_05</b> Generated : <b>Oct 19, 2011 9:03:19 PM</b>
   * Description : Functional Test Script Original Host : WinNT Version 5.1 Build 2600 (S)
   *
   * @since 2011/10/19
   * @author ffan
   */
  public void testMain(Object[] args) {
    // TODO Insert code here
    // restore the initial table record
    String sqldelete = "delete from Mbo1 where C1=1";
    try {
      DBUtil.runSQL((IDBResource) RC.getResource(ASA.class), sqldelete);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    String sqlcreate = "insert into Mbo1 values (1,'one')";
    try {
      DBUtil.runSQL((IDBResource) RC.getResource(ASA.class), sqlcreate);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    WN.useProject(Cfg.projectName);
    EE.dnd("Database Connections->My Sample Database->sampledb->Tables->mbo1 (dba)");
    WN.deployProject(
        new DeployOption()
            .startParameter(Cfg.projectName)
            .server("My Unwired Server")
            .mode(DeployOption.MODE_REPLACE)
            .serverConnectionMapping("My Sample Database,sampledb"));

    WN.createWorkFlow(
        new WorkFlow()
            .startParameter(Cfg.projectName)
            .name(Cfg.wfName)
            .option(WorkFlow.SP_SERVER_INIT));

    PropertiesView.jumpStart(
        new WorkFlow()
            .mbo("Mbo1")
            .objectQuery("findByPrimaryKey")
            .from("imo@localhost")
            .subject("<id>2</id>")
            .fromMatchingRule("imo")
            .setParameterValue("C1,Subject,<id>,</id>"));

    WorkFlowEditor.dragMbo(Cfg.projectName, "Mbo1");
    WorkFlowEditor.removeScreen("Mbo1");
    WorkFlowEditor.removeScreen("Mbo1updateinstance");
    WorkFlowEditor.removeScreen("Mbo1create");
    WorkFlowEditor.removeScreen("Mbo1deleteinstance");
    sleep(1);
    MainMenu.saveAll();
    WorkFlowEditor.addScreen("MyUpdate");
    WorkFlowEditor.link(WorkFlow.SP_SERVER_INIT, "Mbo1Detail");
    WorkFlowEditor.addMenuItem(
        "Mbo1Detail", new WFScreenMenuItem().name("Open MyUpdate").type("Open").screen("MyUpdate"));
    sleep(1);
    MainMenu.saveAll();

    WorkFlowEditor.removeMenuItem("Mbo1Detail", "Back");
    WorkFlowEditor.addMenuItem(
        "Mbo1Detail",
        new WFScreenMenuItem()
            .name("submit")
            .type("Submit Workflow")
            .project(Cfg.projectName)
            .mbo("Mbo1"));
    sleep(1);
    MainMenu.saveAll();

    WorkFlowEditor.addWidget(
        "MyUpdate", new WFEditBox().label("C1:").key("Mbo1_C1_attribKey").ifReadonly(true));
    sleep(1);
    MainMenu.saveAll();
    WorkFlowEditor.addWidget("MyUpdate", new WFEditBox().label("C2:").key("Mbo1_C2_attribKey"));
    sleep(1);
    MainMenu.saveAll();
    WorkFlowEditor.addMenuItem(
        "MyUpdate",
        new WFScreenMenuItem()
            .name("update")
            .type("Online Request")
            .project(Cfg.projectName)
            .mbo("Mbo1")
            .operation("update")
            .submitErrMsg("this is my submit error message")
            .defaultSuccessScreen("Mbo1Detail")
            .parametermapping("C1,Mbo1_C1_attribKey")
            .parametermapping("C2,Mbo1_C2_attribKey"));

    MainMenu.saveAll();
    vpManual("hasError", 0, Problems.getErrors().size()).performTest();

    WFCustomizer.runTest(
        new WorkFlowPackage()
            .startParameter(WN.filePath(Cfg.projectName, Cfg.wfName))
            .assignToUser(Cfg.deviceUser)
            .unwiredServer("My Unwired Server")
            .deployToServer("true"),
        customTestScript(),
        //			"tplan.Workflow.iconcommon.BB.server_dt_icon.Script",
        new CallBackMethod()
            .receiver(WorkFlowEditor.class)
            .methodName("sendNotification")
            .parameter(new Email().from("imo@localhost").subject("<id>1</id>")));

    WFCustomizer.verifyResult(
        new WFClientResult()
            .data("id=Mbo1_C1_attribKey,value=1|" + "id=Mbo1_C2_attribKey,value=one"));

    // vp: the new record is added in the datebase:
    java.util.List<String> clause = new ArrayList<String>();
    clause.add("C1=1");
    clause.add("C2='newone'");
    vpManual("dbresult", 1, CDBUtil.getRecordCount("localhost", "wf", "Mbo1", clause))
        .performTest();
  }
Exemplo n.º 8
0
  /**
   * Script Name : <b>SAP_RLTN_3_E2E</b> Generated : <b>Dec 1, 2011 10:54:31 PM</b> Description :
   * Functional Test Script Original Host : WinNT Version 5.1 Build 2600 (S)
   *
   * @since 2011/12/01
   * @author ffan
   */
  public void testMain(Object[] args) {
    // TODO Insert code here
    EE.createSAPCP(new SAPCP(RC.getResource(SAP.class)).name("sap"), true);
    WN.useProject(Cfg.projectName);
    WN.createMbo(
        new SAPMBO()
            .startParameter(Cfg.projectName)
            .dataSourceType("SAP")
            .name("Existcheck")
            .connectionProfile("sap")
            .bapiOperation("BAPI_COMPANY_EXISTENCECHECK,ExistenceCheck")
            .parameter("COMPANYID,in")
            .parameter("RETURN,out")
            .parameterValue("COMPANYID,002000"));

    WN.createMbo(
        new SAPMBO()
            .startParameter(Cfg.projectName)
            .dataSourceType("SAP")
            .name("GetDetail")
            .connectionProfile("sap")
            .bapiOperation("BAPI_COMPANY_GETDETAIL,GetDetail")
            .parameter("COMPANYID,in")
            .parameter("COMPANY_DETAIL,out")
            .parameterValue("COMPANYID,002000"));

    // create O2O relationship between ExistenceCheck with GetDetail...
    WN.createRelationship(
        new Relationship()
            .startParameter(WN.mboPath(Cfg.projectName, "Existcheck"))
            .target("GetDetail")
            .mapping(
                "Existcheck->Arguments->COMPANYID[STRING(6)],GetDetail->Arguments->COMPANYID[STRING(6)]")
            .composite("true")
            .type(Relationship.TYPE_OTO));

    MBOProperties mbo = new MBOProperties(Cfg.projectName, "Existcheck");
    mbo.renameAttribute("TYPE", "TYPE1");

    WN.deployProject(
        new DeployOption()
            .startParameter(WN.mboPath(Cfg.projectName, "Existcheck"))
            .server("My Unwired Server")
            .mode(DeployOption.MODE_REPLACE)
            .serverConnectionMapping("sap,sap"));

    // create WF..
    WN.createWorkFlow(
        new WorkFlow()
            .startParameter(Cfg.projectName)
            .name(Cfg.wfName)
            .option(WorkFlow.SP_SERVER_INIT)
            .mbo("Existcheck")
            .objectQuery("findByPrimaryKey")
            .subject("id=002000")
            .subjectMatchingRule("id=")
            .setParameterValue("COMPANYID,Subject,id="));

    vpManual("noError", 0, Problems.getErrors().size()).performTest();

    WFCustomizer.runTest(
        new WorkFlowPackage()
            .startParameter(WN.filePath(Cfg.projectName, Cfg.wfName))
            .deployToServer("true")
            .unwiredServer("My Unwired Server")
            .assignToUser(testscript.Workflow.cfg.Cfg.deviceUser),
        customJsTestScript(),
        testscript.Workflow.cfg.Cfg.tplanScript_server_2,
        new CallBackMethod()
            .receiver(WorkFlowEditor.class)
            .methodName("sendNotification")
            .parameter(
                new Email()
                    .unwiredServer("My Unwired Server")
                    .selectTo(testscript.Workflow.cfg.Cfg.deviceUser)
                    .subject("id=002000")));

    // vp:data in device
    WFCustomizer.verifyResult(
        new WFClientResult()
            .data(
                "id=Existcheck_LOG_MSG_NO_attribKey,value=0000|"
                    + "id=GetDetail_COMPANY_attribKey,value=002000|"
                    + "id=GetDetail_NAME1_attribKey,value='IDES UK LTD'|"
                    + "id=GetDetail_COMPANYID_attribKey,value=002000"));
  }
 /**
  * Script Name : <b>S665751_Loneline_in_ResultData_2_Android</b> Generated : <b>Nov 4, 2011
  * 7:29:58 AM</b> Description : Functional Test Script Original Host : WinNT Version 5.1 Build
  * 2600 (S)
  *
  * @since 2011/11/04
  * @author flvxp
  */
 public void testMain(Object[] args) {
   WN.useProject(Cfg.projectName);
   EE.runSQL(
       new ScrapbookCP().database("sampledb").type("Sybase_txt_12.x").name("My Sample Database"),
       GlobalConfig.getRFTProjectRoot() + "/testscript/Workflow/Actions/conf/txt_ddl.sql");
   EE.runSQL(
       new ScrapbookCP().database("sampledb").type("Sybase_txt_12.x").name("My Sample Database"),
       GlobalConfig.getRFTProjectRoot() + "/testscript/Workflow/Actions/conf/txt_data.sql");
   //		 MBO
   EE.dnd("Database Connections->My Sample Database->sampledb->Tables->txt (dba)");
   WN.deployProject(
       new DeployOption()
           .startParameter(Cfg.projectName)
           .mode(DeployOption.MODE_REPLACE)
           .server("My Unwired Server")
           .serverConnectionMapping("My Sample Database,sampledb"));
   //		 WF
   WN.createWorkFlow(
       new WorkFlow()
           .startParameter(Cfg.projectName)
           .name("myWF")
           .option(WorkFlow.SP_CLIENT_INIT));
   WorkFlowEditor.dragMbo(Cfg.projectName, "Txt");
   WorkFlowEditor.addEditBox(
       Cfg.projectName,
       "myWF.xbw",
       "Start Screen",
       new WFEditBox().label("id").logicalType("TEXT").newKey("id,int").setDefaultValue("2"));
   WorkFlowEditor.addMenuItem(
       "Start Screen",
       new WFScreenMenuItem()
           .name("findByPrimaryKey")
           .type("Online Request")
           .project(Cfg.projectName)
           .mbo("Txt")
           .objectQuery("findByPrimaryKey")
           .parametermapping("id,id")
           .defaultSuccessScreen("TxtDetail"));
   sleep(1);
   MainMenu.saveAll();
   WorkFlowEditor.addEditBox(
       Cfg.projectName,
       "myWF.xbw",
       "TxtDetail",
       new WFEditBox()
           .label("text")
           .logicalType("TEXT")
           .ifReadonly(true)
           .key("Txt_content_attribKey")
           .lines("3"));
   MainMenu.saveAll();
   //
   vpManual("error", 0, Problems.getErrors().size()).performTest();
   //
   WFCustomizer.runTest(
       new WorkFlowPackage()
           .startParameter(WN.filePath(Cfg.projectName, Cfg.wfName))
           .assignToUser("supAdmin")
           .unwiredServer("My Unwired Server")
           .deployToServer("true")
           .verifyResult("Assigning workflow myWF to supAdmin", true),
       customTestScript(),
       "tplan.Workflow.common.StartWF_android");
   WFCustomizer.verifyResult(
       new WFClientResult().data("id=Txt_content_attribKey,value=format2\r\ntest"));
 }
 /**
  * Script Name : <b>A671403_Special_Character_andr</b> Generated : <b>Oct 31, 2011 6:47:08 PM</b>
  * Description : Functional Test Script Original Host : WinNT Version 5.1 Build 2600 (S)
  *
  * @since 2011/10/31
  * @author flvxp
  */
 public void testMain(Object[] args) {
   WN.useProject(Cfg.projectName);
   EE.runSQL(
       new ScrapbookCP().database("sampledb").type("Sybase_ASA_12.x").name("My Sample Database"),
       GlobalConfig.getRFTProjectRoot() + "/testscript/Workflow/Actions/conf/AllDT_ddl.sql");
   EE.runSQL(
       new ScrapbookCP().database("sampledb").type("Sybase_ASA_12.x").name("My Sample Database"),
       GlobalConfig.getRFTProjectRoot() + "/testscript/Workflow/Actions/conf/AllDT_data.sql");
   // MBO
   EE.dnd("Database Connections->My Sample Database->sampledb->Tables->AllDT (dba)");
   WN.createObjectQuery(
       new ObjectQuery()
           .name("ObjQuery")
           .startParameter(WN.mboPath(Cfg.projectName, "AllDT"))
           .parameter("specialchar,string,true,string2")
           .queryDefinition("SELECT x.* FROM AllDT x WHERE x.string2 = :specialchar")
           .returnType(ObjectQueryWizard.RT_MULTIPLE));
   //
   WN.deployProject(
       new DeployOption()
           .startParameter(Cfg.projectName)
           .mode(DeployOption.MODE_REPLACE)
           .server("My Unwired Server")
           .serverConnectionMapping("My Sample Database,sampledb"));
   // WF
   WN.createWorkFlow(
       new WorkFlow()
           .startParameter(Cfg.projectName)
           .name("myWF")
           .option(WorkFlow.SP_CLIENT_INIT));
   WorkFlowEditor.dragMbo(Cfg.projectName, "AllDT");
   WorkFlowEditor.addEditBox(
       Cfg.projectName,
       "myWF.xbw",
       "Start Screen",
       new WFEditBox()
           .label("str")
           .logicalType("TEXT")
           .newKey("str,string")
           .setDefaultValue("Q\\A"));
   WorkFlowEditor.addMenuItem(
       "Start Screen",
       new WFScreenMenuItem()
           .name("objQuery")
           .type("Online Request")
           .project(Cfg.projectName)
           .mbo("AllDT")
           .objectQuery("ObjQuery")
           .parametermapping("specialchar,str")
           .defaultSuccessScreen("AllDT"));
   //
   vpManual("error", 0, Problems.getErrors().size()).performTest();
   //
   WFCustomizer.runTest(
       new WorkFlowPackage()
           .startParameter(WN.filePath(Cfg.projectName, Cfg.wfName))
           .assignToUser("supAdmin")
           .unwiredServer("My Unwired Server")
           .deployToServer("true")
           .verifyResult("Assigning workflow myWF to supAdmin", true),
       customTestScript(),
       "tplan.Workflow.common.StartWF_android");
   WFCustomizer.verifyResult(
       new WFClientResult().data("found=true|" + "id=AllDT_string2_attribKey,value=Q\\A"));
 }