java的mac自动化-自动运行java程序

本文旨在帮助读者介绍,如果一个测试工程师拿到了mac本,该如何在本地自动运行java代码

首先如图所示写下如下一段代码

package zlr;

import org.junit.Test;public class zlrshiyan {    @Test    public void test123() throws Exception{        System.out.print (123);    }}所在文件的路径是/Users/zlr/IdeaProjects/zlr/src/zlr,如下图,本地代码也可以正常运行

这时我们想到了和之前编写的windows一样,mac是否可以像windows一样使用ant来自动执行呢?1本地执行java程序代码化mac作为一款比windows更加贴近linux的操作系统,其定时任务当然是可以执行的,本文来简单示范一下mac的定时任务首先第一步要做的事是使用ant来执行上文的java程序,使用的ant是下文的ant代码

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="junit and report" name="TestAuto">

<!--日期-->
<tstamp prefix="mydate">
<format property="day" pattern="yyyy-MM-dd"/>
<format property="time" pattern="HH:mm:ss"/>
<format property="dt" pattern="yyyy-MM-dd HH:mm:ss.SSS"/>
<format property="dt1" pattern="yyyyMMdd" offset="-1" unit="day" />
<format property="dt2" pattern="yyyyMMdd" offset="-3" unit="day" />
<format property="dt3" pattern="yyyyMMdd" offset="0" unit="day" />
<format property="dt4" pattern="yyyyMMddHHmmss" />
</tstamp>

<!--参数定义-->
<property name="appname" value="TestAuto"/>
<property name="build.dir" value="/Users/zlr/Desktop/autoTest" />
<property name="build.class.dir" value="${build.dir}/target/production/zlr/" />
<property name="build.lib.dir" value="${build.dir}/lib" />
<property name="build.report.dir" value="${build.dir}/report/${appname}_jenkins" />
<property name="build.report.name" value="jenkins" />
<property name="build.report.ip" value="10.10.81.108" />
<property name="build.report.remote" value="E:/apache-ant-1.9.4/bin/apache-tomcat-6.0.30/webapps/report" />

<target name="junit and report" depends=""
description="run test and send report">
<!-- 先删除原有report文件夹 -->
<delete dir="${build.report.dir}" />
<!-- 再创建新report文件夹 -->
<mkdir dir="${build.report.dir}" />

<junit printsummary="on" fork="true" showoutput="true">
<sysproperty key="file.encoding" value="GBK" />
<formatter type="xml" usefile="true" />
<classpath>
<fileset dir="${build.lib.dir}" includes="*" />
<pathelement path="${build.class.dir}" />
</classpath>
<batchtest todir="${build.report.dir}">
<fileset dir="${build.class.dir}">
<include name="zlr/zlrshiyan.class"/>
</fileset>
</batchtest>
</junit>

<!-- 报告输出路径 -->
<junitreport todir="${build.report.dir}">
<fileset dir="${build.report.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${build.report.dir}" />
</junitreport>

</target>

</project>

上文的ant要点和之前介绍的windows可以说很相近,所以不再赘述了,有兴趣和疑问的同学可以去浏览http://www.cnblogs.com/xuezhezlr/p/7725301.html

这里要介绍的是mac一个特点,就是java的安装

如果使用正常的java安装,会出现一个框然后自动安装到系统的硬盘中,不过有个问题是不能轻易去访问那个路径,所以对它进行操作很困难

而ant调试过程中可以看到,全程没有导入java的环境变量,只是依靠本地的java变量来实现的mac所以,对本机的java变量的控制变得异常重要,所以https://support.apple.com/kb/DL1572?locale=en_US&viewlocale=en_US这是我强烈推荐的java安装地址,建议使用这个进行安装

与windows比较大的区别是,windows使用.bat文件来执行ant命令,而mac则是使用.sh文件来执行ant,这也是mac笔记本比较类似linux的地方

下面是本地执行结果

2使用crontab来定时执行代码在手动执行后自然我们想到了自动执行代码,由于mac在内核上与linux很相近,所以这里介绍的是在linux上比较盛行的crontab来定时执行java代码输入crontab -e,然后在出现的地方输入我们的下面一行文字并保存

00 21 * * * source /Users/zlr/.bash_profile && /Users/zlr/Desktop/autoTest/runAnt.sh

保存记住,要使用wq!来做,这里讲一下这个语句

00 21 * * *这几位是表示时间的,意思是每个满足条件的时间点执行后面那一行shell语句

第1列表示分钟1~59 每分钟用*或者 */1表示 
第2列表示小时1~23(0表示0点) 
第3列表示日期1~31 
第4列表示月份1~12 
第5列标识号星期0~6(0表示星期天)

而这里的*是指这一种检索条件可以忽略,比如上文中只有前两列是不是*,那么意思就是每天的晚上9点执行,http://blog.csdn.net/h514476785j/article/details/52512354这里有比较详细的解释

但是java还一个特点就是环境变量,因此后面的语句是source /Users/zlr/.bash_profile && /Users/zlr/Desktop/autoTest/runAnt.sh

这句话的意思是,先执行source /Users/zlr/.bash_profile加载环境变量,在执行/Users/zlr/Desktop/autoTest/runAnt.sh来执行ant命令,中间用&&符号来链接,另一种方式是在runant中写多条shell语句来执行

上文就是mac的简单自动化了,各位加油,我研究一下jenkis如果有成果就发出来



原文地址:https://www.cnblogs.com/xuezhezlr/p/8506249.html

时间: 2024-10-09 00:54:49

java的mac自动化-自动运行java程序的相关文章

java juint框架的windows自动化-自动运行juint程序简述

在京东混了一个月,基本有点稳定了,觉得也有所余力了现在,继续写博客吧,不过以后更新也许不是那么频繁了 本人使用的是junit框架,对开发是一个单元测试的java框架,但是对测试而言是java的基石之一,与testng差不多平分秋色(好吧,其实是稍微差一点)在上文http://www.cnblogs.com/xuezhezlr/p/7773614.html简单介绍了junit框架后,这里作一个简单的比较 junit框架与传统main函数的主要区别:1junit框架其实质包含多个main函数,相互间

java testng框架的windows自动化-自动运行testng程序下篇

本文旨在让读者简单了解testng的自动运行 接上文https://www.cnblogs.com/xuezhezlr/p/9213456.html,文章大致把testng中比较特殊的两个xml形式说了一下,读者可以这样认为,ant的那个xml中的代码,因为只是控制了打包和指定testng的xml路径,然后获取执行结果想方法展示,而testng的xml直接控制了运行代码的顺序,包类等参数,直接控制了运行的过程,所以,如果工程主体变动不大,只需要对testng的xml进行改造,从而控制执行的方法,

ubuntu14.04 开机自动运行应用程序

ubuntu14.04 开机自动运行应用程序 - ydt_lwj的专栏 - 博客频道 - CSDN.NET ubuntu下有很多中开机自动运行程序的方法,在开机的不同过程中可以启动不同的程序.如在开机启动时自动运行程序,是通过修改放置在 ???? /etc/rc或 ???? /etc/rc.d 或 ???? /etc/rc?.d ?? 目录下的脚本文件,可以使init自动启动其它程序.例如:编辑 ???? /etc/rc.d/rc.local 文件(该文件通常是系统最后启动的脚本), 也可以在用

Mac 终端命令运行java

链接地址:http://www.cnblogs.com/wangrui-techbolg/archive/2012/12/29/2839047.html 由于mac已经装好java环境,所以直接课运行java命令,很方便. 编译一个java文件: javac /Users/用户名/Desktop/HelloWorld.java  (运行后会得到一个HelloWorld.class文件,存放目录在desktop) 运行:首先要cd到HelloWorld.class的目录,然后:java Hello

【Java】windows下直接运行Java程序(利用bat运行jar文件)

这种方法只是掩耳盗铃,简化了运行jar的方式.并不是将Java代码打包成了exe文件. 具体步骤为,电脑上有JRE环境,然后利用bat文件包装一下运行jar的控制台语句,最后用C语言打包成exe文件. jar包有两种运行方式,一种为直接双击,直接双击需要配置注册表和环境变量才能运行jar包. 还有一种是在控制台运行,输入javaw -jar xxxx.所有的操作都需要Java环境. bat文件 bat是Windows下可以直接运行的批处理文件,编写也很简单. 新建一个txt文件,输入下面两行脚本

Tomcat启动时自动运行某程序

项目需要和tmall实现长连接,接收tmall推送的Order消息,然后对消息进行逻辑处理. 目前写了一个servlet,实现了permit的验证,然后对tmall进行长连接操作,启动后,只要tomcat一直运行着,长连接就不会断掉.现在的需求是tomcat启动后我这个servlet自己就运行起来,不用我自己再去访问一下配置的servlet路径. 资料: http://www.cnblogs.com/Payne-Wang/archive/2013/04/01/loadOnTomcatStartu

python subprocess 自动运行实验室程序

import threading, os, subprocess, time exec_path = "/home/xhz/gems/ruby/amd...../bin/tester.exec" out_data_path = "/home/xhz/...generated/" max_process = 5 processes = set() exec_commands = [] for id in xrange(1,45,2): stat_filename =

树莓派设置开机自动运行Python程序

环境:树莓派3B.最新RASPBIAN系统 方法: 切换到root账户 sudo su  修改rc.local文件 sudo nano /etc/rc.local 在exit 0 之前添加执行命令 sudo python /xx/xx/xx.py 保存后重启就可以看到效果了

【Java学习系列】第1课--Java环境搭建和demo运行

本文地址 分享提纲: 1. java环境的搭建 2. java demo代码运行 3.参考文档 本人是PHP开发者,一直感觉Java才是程序的王道(应用广,科班出身),所以终于下决心跟一跟. 主要是给自己看和一些java小白参考,大神勿喷. 1. java环境的搭建 请参考 Java 开发环境配置(菜鸟教程) 1)[Windows环境]windows环境下 java环境的搭建(todo) 2)[Linux环境]Linux环境下 java环境搭建(todo) 3)[Mac环境]Mac环境下 jav