如何在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"); } }
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"); } }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询