亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

[Jmeter]通過批處理調用java,java從CSV動態(tài)讀取

系統(tǒng) 1847 0

問題1:怎樣通過批處理調用java代碼?

問題2:怎樣通過java從CSV文件獲取到用戶名和密碼存入變量?

問題3:怎樣將獲取到的用戶名和密碼組合成字符串,寫入外部批處理文件?

問題4:怎樣在批處理文件調用ANT的時候,將用戶名和密碼作為參數(shù)傳進去?

問題5:怎樣通過java調用.bat文件?

問題6:怎樣保證java在調用.bat的時候不出現(xiàn)閃退?

問題7:怎樣讓java在執(zhí)行.bat的時候,.bat的控制臺輸出日志?

問題8:怎樣讓java執(zhí)行.bat完成之后不會有殘余的cmd.exe進程?

/*************CIM_US_TP_SmokeTest.bat*****************/

      @echo off

color 0a



echo autotest beginning,Please Wait... ...



set AutoPath=%~dp0

%AutoPath:~0,2%  

pushd %AutoPath%



cd /d %AutoPath%

set JmeterPath=..\..\..\

echo AutoPath=%AutoPath%

echo JmeterPath=%JmeterPath%



forfiles /p %AutoPath%Result /m *.jtl -d -7 /c "cmd /c del /f @path">nul 2>nul

forfiles /p %JmeterPath%extras /m *.html -d -7 /c "cmd /c del /f @path">nul 2>nul



javac getUserAccount_US_TP_SmokeTest.java

java getUserAccount_US_TP_SmokeTest



exit


    

?

/*************CIM_US_TP_SmokeTest.bat*****************/

/************getUserAccount_US_TP_SmokeTest.java************/

      import java.io.*;





public class getUserAccount_US_TP_SmokeTest {

    

    public static String AutomationPath = System.getProperty("user.dir");

    public static void main( String[] args ) throws InterruptedException {

        

        System.out.println( "AutomationPath:" + AutomationPath );

        getUserAccount_US_TP_SmokeTest generator = new getUserAccount_US_TP_SmokeTest();



        String userName = generator.getUserName();

//        System.out.println( "userName:" + userName );



        String password = generator.getPassWord();

//        System.out.println( "password:" + password );



        generator.runAnt( userName, password );

    }



    private void runAnt( String userName, String password ) throws InterruptedException {

        Process p;

        String cmd = "ant -f "+AutomationPath+"\\CIM_US_TP_SmokeTest.xml"+" -DuserName=" + userName + " -Dpassword=" + password;

        String path=AutomationPath+"\\cmd_US_TP_Smoke.bat";

        fileWrite(cmd,path);

        try {

            System.out.println( "Execute in command line:: " + path );

            p =Runtime.getRuntime().exec(path);

            //取得命令結果的輸出流

            InputStream fis=p.getInputStream();

            //用一個讀輸出流類去讀

            InputStreamReader isr=new InputStreamReader(fis);

            //用緩沖器讀行

            BufferedReader br=new BufferedReader(isr);

            String line=null;

            //直到讀完為止

            while((line=br.readLine())!=null) {

                System.out.println(line);

            }

            Thread.sleep(10000);

            System.out.println( "Execute cmd over. ");

        } catch( IOException e ) {

            e.printStackTrace();

        }

        

    }

    

    public void fileWrite(String cmd,String path){

        

        File file = new File(path);

        try {

            if(!file.exists()){

                file.createNewFile();

            }

            FileWriter fw=new FileWriter(file,false);

            PrintWriter pw=new PrintWriter(fw);

            pw.println(cmd);

            pw.close();     

            fw.close();   

        } catch (IOException e) {   

            // TODO Auto-generated catch block   

            e.printStackTrace();   

        }   



    }



    public String getUserName() {

        String userName="";

        try {

            BufferedReader reader = new BufferedReader(new FileReader(AutomationPath+"\\Data\\AccountInfo\\AutoTestAccount_Office_US_TP.csv"));//換成你的文件名

            reader.readLine();//第一行,為標題信息

            String line=reader.readLine();//讀取第二行

            reader.close();

            String item[] = line.split(",");//CSV格式文件為逗號分隔符文件,這里根據(jù)逗號切分

             

            userName = item[0];//這就是你要的數(shù)據(jù)了

            //System.out.println("Get Login Email: "+userName);

        } catch (Exception e) {

            e.printStackTrace();

        }

        return userName;

    }



    public String getPassWord() {

        String password="";

        try {

            BufferedReader reader = new BufferedReader(new FileReader(AutomationPath+"\\Data\\AccountInfo\\AutoTestAccount_Office_US_TP.csv"));//換成你的文件名

            reader.readLine();//第一行,為標題信息

            String line=reader.readLine();//讀取第二行

            reader.close();

            String item[] = line.split(",");//CSV格式文件為逗號分隔符文件,這里根據(jù)逗號切分   

         

            password= item[1];//這就是你要的數(shù)據(jù)了

            //System.out.println("Get Login Password: "+password);

        } catch (Exception e) {

            e.printStackTrace();

        }

        return password;

    }

}


    

?

/************getUserAccount_US_TP_SmokeTest.java************/

/************CIM_US_TP_SmokeTest.xml**********************/

<?xml version="1.0"?>
<project name="morningstar" default="all" basedir=".\">
?? ?<property name="JMeter.home" value=".\..\..\..\"/>
?? ?<property name="mail_to" value="lemon.li@morningstar.com,na.gong@morningstar.com,sandy.zhou@morningstar.com,jenny.zhang@morningstar.com"/>
?? ?<property name="to_me_only" value="jenny.zhang@morningstar.com"/>
??? <property name="ReportName" value="CIMUSSmokeTestReport"/>
?? ?<property name="ComputerName" value="SZOTWIN2K801"/>
?? ?<property name="LoginEmail" value="${userName}"/>
?? ?<echo>${userName}</echo>
?? ?<property name="LoginPassword" value="${password}"/>
?? ?<echo>${password}</echo>
?? ?<tstamp>
?? ??? ?<format property="time" pattern="yyyyMMddhhmm"/>
?? ?</tstamp>
?? ?<target name="all" >
?? ??? ?<antcall target="runCWP" />
?? ??? ?<antcall target="runUDF" />
?? ??? ?<antcall target="transferAll"/>
?? ??? ?<antcall target="transferFailure"/>
?? ??? ?<antcall target="sendEmail"/>
?? ?</target>
?? ?<target name="runCWP" depends="">
?? ??? ?<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
?? ??? ?<jmeter jmeterhome="${JMeter.home}" resultlog="${basedir}/Result/${ReportName}${time}.jtl">
?? ??? ??? ?<testplans dir="${basedir}\Script\SmokeTest" includes="CIM_US_TP_CWP_SmokeTest.jmx"/>
?? ??? ?</jmeter>
?? ?</target>
?? ?<target name="runUDF" depends="">
?? ??? ?<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
?? ??? ?<jmeter jmeterhome="${JMeter.home}" resultlog="${basedir}/Result/${ReportName}${time}.jtl">
?? ??? ??? ?<testplans dir="${basedir}\Script\SmokeTest" includes="CIM_US_TP_UDF_SmokeTest.jmx"/>
?? ??? ?</jmeter>
?? ?</target>
?? ?<target name = "transferAll" depends = "">
?? ??? ?<xslt in="${basedir}/Result/${ReportName}${time}.jtl"
?? ??? ??? ?out="${JMeter.home}/extras/${ReportName}${time}.html"
?? ??? ??? ?style="${JMeter.home}/extras/JMeter-results-detail-report_21.xsl"/>
?? ?</target>
?? ?<target name = "transferFailure" depends = "">
?? ??? ?<xslt in="${basedir}/Result/${ReportName}${time}.jtl"
?? ??? ??? ?out="${JMeter.home}/extras/${ReportName}${time}_failure.html"
?? ??? ??? ?style="${JMeter.home}/extras/JMeter-results-detail-report_21_failure.xsl"/>
?? ?</target>
?? ?<target name="sendEmail">
?? ??? ?<mail mailhost="internalmail.morningstar.com" mailport="25" subject="CIM US Automation Test Report(Smoke Test)!" messagefile="${JMeter.home}/extras/${ReportName}${time}_failure.html" messagemimetype="text/html" tolist="${mail_to}">
?? ??? ??? ?<from address="jenny.zhang@morningstar.com"/>
?? ??? ??? ?<!-- <fileset dir="${JMeter.home}/extras/">
?? ??? ??? ??? ?<include name="${ReportName}${time}.html"/>
?? ??? ??? ??? ?<include name="expand.png"/>
?? ??? ??? ?</fileset> -->
?? ??? ??? ?<!-- <message>This email was sent automatically by ANT. &lt;br /&gt;
?? ??? ??? ?Please check the automation test report by the link below.? &lt;br /&gt;
?? ??? ??? ?If there are any questions, please contact with Jenny Zhang. Thank you! &lt;br /&gt;&lt;br /&gt;
?? ??? ??? ?http://${ComputerName}/${ReportName}${time}.html
?? ??? ??? ?</message> -->
?? ??? ?</mail>
?? ?</target>
</project>

/************CIM_US_TP_SmokeTest.xml**********************/

?

?

[Jmeter]通過批處理調用java,java從CSV動態(tài)讀取登錄的用戶名和密碼,并將其作為參數(shù)組合成字符串,寫入外部.bat文件,然后通過Java執(zhí)行這個外部批處理文件


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美在线观看一区 | 999视频在线观看 | 曰曰鲁夜夜免费播放视频 | 午夜dj影院在线视频观看完整 | 在线视频不卡国产在线视频不卡 | 四虎黄色影院 | 欧美成人免费一区在线播放 | 可以免费观看欧美一级毛片 | 全部免费的毛片在线看青青 | 天天操天天摸天天射 | 97在线免费观看 | 色久天 | 一级毛片免费视频网站 | 午夜国产精品福利在线观看 | 久久夜夜 | 九九99国产精品视频 | 欧美精品亚洲精品日韩专区 | 亚洲成a v人片在线观看 | 欧美精品啪啪 | 精品少妇一区二区三区视频 | 成人小视频在线播放 | 美女视频91 | 播放一级录像片 | 羞羞视频网 | 日本美女一区 | 国产一级毛片视频在线! | 成人久久久久 | 男人女人真曰批的视频动态 | 天天做天天爱天天影视综合 | 国产99久久久久久免费看 | 99热久久这里只有精品 | 色偷偷91久久综合噜噜噜噜 | 中文字幕亚洲综合 | 午夜影院欧美 | 最近免费中文字幕大全免费版视频 | 久久99九九精品免费 | 亚洲欧美精品成人久久91 | 国产中文字幕第一页 | 六月婷婷中文字幕 | 亚洲精品动漫一区二区三区在线 | 久久精品123 |