自动化__GUI自动化__java__模拟功能操作__猴子测试

Posted 18513757531

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化__GUI自动化__java__模拟功能操作__猴子测试相关的知识,希望对你有一定的参考价值。

 

 

一、代码如下

package www.woniu.auto;

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.io.IOException;
import java.util.Random;

public class MonkeyTest {
	Robot robot= null;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MonkeyTest monkey= new MonkeyTest();
		try {
			monkey.robot= new Robot();
			Runtime.getRuntime().exec("calc.exe");//IOException
			
			for(int i=0; i<100; i++) {
				monkey.move();
				Thread.sleep(1000); //InterruptedException
				monkey.mouse();
				Thread.sleep(1000);
				monkey.keyBoard();
				Thread.sleep(1000);
			}
			
		} catch (AWTException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
	
	
	//键盘随机输入
	private void keyBoard() {
		// TODO Auto-generated method stub
		int[] keys= {0x30, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39};
		int index= (int)(Math.random()*keys.length);
		this.robot.keyPress(keys[index]);
		this.robot.keyRelease(keys[index]);
	}
	
	private void mouse() {
		// TODO Auto-generated method stub
		int random= (int)(Math.random()*10);
		if(random >= 5) {
			this.robot.mousePress(InputEvent.BUTTON1_MASK);
			this.robot.mouseRelease(InputEvent.BUTTON1_MASK);
		}else {
			this.robot.mousePress(InputEvent.BUTTON3_MASK);
			this.robot.mouseRelease(InputEvent.BUTTON3_MASK);
		}

	}
	
	
	private void move() {
		// TODO Auto-generated method stub
		Random myrandom= new Random();
		int x= myrandom.nextInt(40);
		int y= myrandom.nextInt(40);
		robot.mouseMove(x, y);
	}
	

}

 

以上是关于自动化__GUI自动化__java__模拟功能操作__猴子测试的主要内容,如果未能解决你的问题,请参考以下文章

自动化__GUI自动化__java__模拟功能操作__猴子测试

自动化__GUI自动化__java__案例__类反射

自动化__GUI自动化__java__案例__java应用程序计算器__类直接被调用__1个进程

自动化__GUI自动化__java__案例__java应用程序计算器

自动化__GUI自动化__java__Agileone__seniumIDE

自动化__GUI自动化__java__selenium__断言__表格标题内容断言