‘壹’ 如何在java中执行shell脚本
1、最常用的方法:
Processp=Runtime.getRuntime().exec(SHELL_FILE_DIR+RUNNING_SHELL_FILE+
""+param1+""+param2+""+param3);
intrunnngStatus=p.waitFor();
2、通过ProcessBuilder进行调度,这种方法比较直观,而且参数的设置也比较方便:
ProcessBuilderpb=newProcessBuilder("./"+RUNNING_SHELL_FILE,param1,
param2,param3);
pb.directory(newFile(SHELL_FILE_DIR));
intrunningStatus=0;
Strings=null;
try{
Processp=pb.start();
try{
runningStatus=p.waitFor();
}catch(InterruptedExceptione){
e.printStackTrace();
}
}catch(IOExceptione){
e.printStackTrace();
}
if(runningStatus!=0){
}
return;
参数说明:
RUNNING_SHELL_FILE:要运行的脚本
SHELL_FILE_DIR:要运行的脚本所在的目录; 当然你也可以把要运行的脚本写成全路径。
runningStatus:运行状态,0标识正常。 详细可以看java文档。
param1, param2, param3:可以在RUNNING_SHELL_FILE脚本中直接通过1,1,2,$3分别拿到的参数。
‘贰’ JAVA中ant脚本是什么东西
内容摘要:
ANT是一个基于Java的自动化脚本引擎,脚本格式为XML。除了做Java编译相关任务外,ANT还可以通过插件实现很多应用的调用。
1)ANT的基本概念:
2)ANT的安装:解包,设置路径
3)ANT的使用:最好的学习只不过是一个简单实用的例子起步……
ANT的基本概念:Java的Makefile
当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项目可能需要有以下任务。
任务1:usage 打印本脚本的帮助信息(缺省)
任务2:clean <-- init 清空初始化环境
任务3:javadoc <-- build <-- init 生成JAVADOC
任务4:jar <-- build <-- init 生成JAR
任务5:all <-- jar + javadoc <-- build <-- init 完成以上所有任务:jar javadoc
而多个任务之间往往又包含了一定了依赖关系:比如把整个应用打包任务(jar)的这个依赖于编译任务(build),而编译任务又依赖于整个环境初始化任务(init)等。
注:我看到很多项目的ant脚本中的命名基本上都是一致的,比如:编译一般叫build或者compile;打包一般叫jar或war;生成文档一般命名为javadoc或javadocs;执行全部任务all。在每个任务的中,ANT会根据配置调用一些外部应用并配以相应参数执行。虽然ANT可调用的外部应用种类非常丰富,但其实最常用的就2,3个:比如javac javadoc jar等。
ANT的安装
解包后在系统可执行路径中加入指向ant的bin的路径就可以了,比如可以在GNU/Linux上把以下配置加入/etc/profile中:
export ANT_HOME=/home/ant
export JAVA_HOME=/usr/java/j2sdk1.4.1
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
这样执行ant 后,如果不指定配置文件ant会缺省找build.xml这个配置文件,并根据配置文件执行任务,缺省的任务设置可以指向最常用的任务,比如:build,或指向打印帮助信息:usage,告诉用户有那些脚本选项可以使用。
ANT的使用
最好的学习过程就是看懂那些open source项目中的build.xml脚本,然后根据自己的需要简化成一个更简单的,ANT和APACHE上很多非常工程派的项目:简单易用,而且适应性非常强,因为这些项目的建立往往来源于开发人员日常最直接的需求。
‘叁’ sh脚本如何自动执行java程序,并且该脚本如何被定期调用
各位好我有一个问题,是这样: 环境:有一套管理系统(包括联机和批量),该管理系统白天运行联机系统,晚上运行批量系统。 目的:联机系统运行到晚上,会停掉,这时候通过在unix下的sh脚本调用并且启动批量系统。 sh脚本可以调用java程序,通过java程序就可以启动了批量系统。 andilyliao 写道最简单的方法 你可以用java写一个job 然后每天晚上执行sh mginobili 写道可以在脚本中 实现一个定时功能啊 比如每隔半小时 检查一次当前的时间 如果到了晚上 就停止联机系统,运行批量系统 当然前提是 这个sh脚本要一直保持运行状态 并且其错误处理机制要完善问题补充:哦。你的意思是不是这样啊, 这个sh脚本作为一个定时器,定时调用启动联机系统或者批量系统的程序。 通过while(1)这样一个循环,一直运行不中断,然后sleep一定时间,就调用联机的启动程序,再过一定时间,关闭联机启动批量系统。
‘肆’ 如何在java中使用sikuli进行自动化测试
sikuliIDE可以完成常见的单击、右击、移动到、拖动等鼠标操作,java引用sikuli-script.jar同样可以执行这些常见的鼠标操作,因此即可方便的编写java实现识别图片并模拟点击/拖动目标控件。
sikuli-script.jar:http://download.csdn.net/download/hqd1986/4557974
将sikuli-script.jar包添加到eclipse中。
‘伍’ 如何用java代码实现一个类似,jmeter的beanshell脚本/postman运行脚本的功能(解析字符串运行代码)
beanshell是可以自由适用的脚本语言啊,你可以在你的项目中引入,具体方式请阅读
beanshell官方文档
‘陆’ Java语言自动化脚本中可以封装多个request然后进行调用
可以。
一个代码可以封装多个resquest进行调用,只是在调用的过程中必须保证方法名称和调用的方式一致。
封装的概念来自对面向对象的编程模式 比如说一个方法,你把他放到一个类里面, 下次如果别的地方要用到的话,直接调用这个方法就行了,不用再重新编写。
‘柒’ 如何在java中使用sikuli进行自动化测试
Sikuli 提供了一个简易的脚本开发环境。缺省界面由菜单栏、工具栏、侧边栏、编辑区、控制台和状态栏六部分组成,如图 1 所示。
工具栏中提供了两组共计 5 个常用工具按钮及文本搜索框:
屏幕截图(Take screenshot):点击该按钮,进入屏幕截图状态,拖拽辅助线选取需要截取的界面元素,释放鼠标左键的同时,自动将该截图插入到编辑区中光标当前位置。使用快捷键 Ctrl+Shift+2(Command+Shift+2)也可激活截图状态,以完成对于弹出菜单、下拉框一类的控件的实时截图。该快捷键亦可通过主菜单 File->Preferences 进行自定义。
插入图片(Insert image):除直接截图外,用户也可通过点击该按钮导入已有的 PNG 格式图片文件。
建立屏幕区域(Create region):点击该按钮,进入屏幕区域选择状态,拖拽定位十字线选取屏幕区域。释放鼠标左键,即可将当前选中区域的屏幕坐标信息插入到编辑区中。
运行(Run):点击执行当前脚本。快捷键为 Ctrl+R(Command+R)。
慢速运行(Run in slow motion):点击后以较慢的速度执行当前脚本,以红色圆形外框显式标识每一次图像查找定位动作,便于程序调试中进行焦点追踪。快捷键为 Ctrl+Alt+R(Command+Alt+R)。
左侧侧边栏中分类列出了部分常用函数,点击函数名可快速将其插入到编辑区,若该函数需截图作为参数,则自动转入屏幕截图状态。下方的状态栏可用于查看当前行号,与行首 Tab 缩进的层级 ( 列号 )。
‘捌’ 如何在java中使用sikuli进行自动化测试
Sikuli使用图像识别方法来识别GUI元素,将你在屏幕上看到的一切自动化。Sikuli脚本允许用户使用屏幕截图来自动化GUI交互。
1. 运行unit test脚本的时候,不能使用默认的方式,应该使用下面的代码来运行:
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromTestCase(YOUR_TEST_CLASS))否则,unit test框架默认会在执行完所有case后退出程序,会导致sikuli报错。
2. 考虑关闭Sikuli的输出。否则当输出太多时,会把一些unit test的测试结果给刷掉,另外Sikuli的输入太多,大部分是没用的信息。笔者暂时没有找到关闭输出的方法,不过有另外一个方式,Sikuli在执行时提供一个命令,可以配置Sikuli的log输出文件。这样可以让Sikuli把自己的log输出到单独的文件中,这样在命令行中运行Sikuli脚本的时候,只会看到unit test的输出,不会看到Sikuli的输出了。
3.将sikuli-script.jar包添加到eclipse中。
4.编写自动化测试脚本: package com.mypro.sikuli; import org.sikuli.script.*; public class STest { public static void main(String[] args) throws FindFailed, InterruptedException { Screen s = new Screen(); //定义图片存放路径 String imgpath = "D:/java/sikuli/img/"; //双击桌面chrome浏览器图标 s.doubleClick(imgpath+"chrome.png"); //输入url s.type(imgpath+"url.png","www.bing.com"); s.click(imgpath+"lianxiang.png"); Thread.sleep(2000); //在bing输入框输入搜索关键字:sikuli,并点击搜索按钮 s.type(imgpath+"sreach_input.jpg","sikuli"); s.click(imgpath+"sreach_button.png"); System.out.println("end"); } }
‘玖’ 如何在java中使用sikuli进行自动化测试
Sikuli 提供了一个简易的脚本开发环境。缺省界面由菜单栏、工具栏、侧边栏、编辑区、控制台和状态栏六部分组成,如图 1 所示。
工具栏中提供了两组共计 5 个常用工具按钮及文本搜索框:
屏幕截图(Take screenshot):点击该按钮,进入屏幕截图状态,拖拽辅助线选取需要截取的界面元素,释放鼠标左键的同时,自动将该截图插入到编辑区中光标当前位置。使用快捷键 Ctrl+Shift+2(Command+Shift+2)也可激活截图状态,以完成对于弹出菜单、下拉框一类的控件的实时截图。该快捷键亦可通过主菜单 File->Preferences 进行自定义。
插入图片(Insert image):除直接截图外,用户也可通过点击该按钮导入已有的 PNG 格式图片文件。
建立屏幕区域(Create region):点击该按钮,进入屏幕区域选择状态,拖拽定位十字线选取屏幕区域。释放鼠标左键,即可将当前选中区域的屏幕坐标信息插入到编辑区中。
运行(Run):点击执行当前脚本。快捷键为 Ctrl+R(Command+R)。
慢速运行(Run in slow motion):点击后以较慢的速度执行当前脚本,以红色圆形外框显式标识每一次图像查找定位动作,便于程序调试中进行焦点追踪。快捷键为 Ctrl+Alt+R(Command+Alt+R)。
左侧侧边栏中分类列出了部分常用函数,点击函数名可快速将其插入到编辑区,若该函数需截图作为参数,则自动转入屏幕截图状态。下方的状态栏可用于查看当前行号,与行首 Tab 缩进的层级 ( 列号 )。
‘拾’ 如何用java写脚本,实现windows客户端自动化测试
你的monkeyrunner脚本要用android自己的monkeyrunner
解释器
(基于jython)
来加载,eclipse默认的是标准python解释器,当然会报错。最简单的方法是..忽略它...当然你也可以自己配置eclipse的python解释器选择。