jpype的作用是在python中调用Sikuli的api java库。

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()

你可能感兴趣的:(jpype的作用是在python中调用Sikuli的api java库。)