http://blog.csdn.net/a23764996/article/details/53541047
http://blog.csdn.net/flask_p/article/details/70208275
Jpype的使用
1. 毋庸置疑,下载安装jpype
2. jdk要装好,这个自己找教程
3. 这个包的作用:在python中调用java代码
4. hello world程序:
from jpype import * import os.pathstartJVM("jpype.getDefaultJVMPath()","-ea") java.lang.System.out.println("hello World") shutdownJVM()
1
2
3
4
5
程序说明:
1.startJVM() 是JPype 用于启动 JAVA 虚拟机,在后续的任何 JAVA 代码被调用前,必须先调用此方法启动 JAVA 虚拟机 。它需要两个参数:startJVM(jvm, *args), jvm是指你系统中 jvm.dll 文件所在的路径,如“ C:\Program Files\IBM\Java50\jre\bin\j9vm\jvm.dll ”。 *args 是可选参数,会被 JPype 直接传递给 JVM 作为 Java 虚拟机的启动参数。
2.jpype.getDefaultJVMPath() 默认的jvm路径。
3.startJVM会关闭 JAVA 虚拟机
5. 调用JAVA第三方扩展包
1.JAVA自定义第三方jar包
package com;
public class Javatest {
public String run(String str){
return str;
}
public String testParam(String user){
return "Hi, welcome" + user;
}
}
jar cvfm test.jar com 制作jar包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2.调用jar包
import jpype
import os.path
jarpath = os.path.join(os.path.abspath('.'), 'test.jar')
print jarpath
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % jarpath)
Test = jpype.JClass('com.Javatest')
t = Test()
res = t.run("abv")
a = t.testParam("cd")
print res
print a
jpype.shutdownJVM()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2.2 jpype库安装
jpype的作用是在python中调用Sikuli的api java库。
可以到https://pypi.python.org/pypi/JPype1下载库,直接安装
3 Sikuli IDE
打开Sikuli安装目录中的runsikulix.cmd,直接打开sikuli IDE:
如图,sikuli IDE的操作非常简单明了,直接按照提示进行操作就好了。
但是这跟selenium-IDE一样,只能作为demo代码,所以需要把sikuli集成到我们的UI自动化框架中
4 Python Sikuli
Sikuli库是用java编写的,打包成Jar,要在python中使用,需要使用jpype进行转换。
Python中调用sikuli的demo如下:
# coding=utf-8
fromjpypeimport*
startJVM(r'C:\ProgramFiles\Java\jre1.8.0_111\bin\server\jvm.dll','-ea',r'-Djava.class.path=D:\sikuli\sikulixapi.jar')
# shutdownJVM()
App = JClass('org.sikuli.script.App')
Screen = JClass('org.sikuli.script.Screen')
screen = Screen()