[Selenium] Java代码获取,设置屏幕分辨率

import java.awt.Dimension;
import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Insets;
import java.awt.Rectangle;
import java.awt.Toolkit;

public Rectangle getDestktopRectangle(){
	Rectangle windowSize = new Rectangle();
	Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();
	Insets scrInsets = Toolkit.getDefaultToolkit().getScreenInsets(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration());
		
	//获取屏幕可以利用的width和height
	//windowSize.setBounds(scrInsets.left, scrInsets.top, scrSize.width - scrInsets.left - scrInsets.right, scrSize.height - scrInsets.top - scrInsets.bottom);
		
	//获取屏幕的分辨率
	windowSize.setBounds(scrInsets.left, scrInsets.top, scrSize.width, scrSize.height);
	logger.info("The desktop resolution is : " + windowSize);
	return windowSize;
}
	
public void setDestktopRectangle(int width, int height){
	GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
	GraphicsDevice device=environment.getDefaultScreenDevice(); 
		
	//取得所支持的分辨率
	DisplayMode[] displayModes= device.getDisplayModes();
	for(DisplayMode displayMode : displayModes){
		logger.info("Available display mode : ["+displayMode.getWidth()+" , "+displayMode.getHeight()+" , "+displayMode.getBitDepth()+" , "+displayMode.getRefreshRate()+"]");
	}
		
	//new DisplayMode(分辨率宽,分辨率高,颜色位数,刷新率)
	DisplayMode displayMode=new DisplayMode(width,height,16,75); 
	device.setDisplayMode(displayMode); 
}

设置屏幕分辨率不一定好使。

输出结果:

[{1115337740}]***The desktop resolution is : java.awt.Rectangle[x=0,y=0,width=1280,height=1024]

[{1115337740}]***Available display mode : [640 , 480 , 32 , 60]

[{1115337740}]***Available display mode : [640 , 480 , 32 , 59]

[{1115337740}]***Available display mode : [640 , 480 , 32 , 75]

[{1115337740}]***Available display mode : [720 , 480 , 32 , 60]

[{1115337740}]***Available display mode : [720 , 480 , 32 , 75]

[{1115337740}]***Available display mode : [720 , 576 , 32 , 60]

[{1115337740}]***Available display mode : [720 , 576 , 32 , 75]

[{1115337740}]***Available display mode : [800 , 600 , 32 , 60]

[{1115337740}]***Available display mode : [800 , 600 , 32 , 75]

[{1115337740}]***Available display mode : [1024 , 768 , 32 , 60]

[{1115337740}]***Available display mode : [1024 , 768 , 32 , 75]

[{1115337740}]***Available display mode : [1152 , 864 , 32 , 60]

[{1115337740}]***Available display mode : [1152 , 864 , 32 , 75]

[{1115337740}]***Available display mode : [1280 , 720 , 32 , 60]

[{1115337740}]***Available display mode : [1280 , 720 , 32 , 59]

[{1115337740}]***Available display mode : [1280 , 720 , 32 , 75]

[{1115337740}]***Available display mode : [1280 , 768 , 32 , 60]

[{1115337740}]***Available display mode : [1280 , 768 , 32 , 75]

[{1115337740}]***Available display mode : [1280 , 960 , 32 , 60]

[{1115337740}]***Available display mode : [1280 , 960 , 32 , 75]

[{1115337740}]***Available display mode : [1280 , 1024 , 32 , 60]

[{1115337740}]***Available display mode : [1280 , 1024 , 32 , 75]

[{1115337740}]***Available display mode : [640 , 480 , 16 , 60]

[{1115337740}]***Available display mode : [640 , 480 , 16 , 59]

[{1115337740}]***Available display mode : [640 , 480 , 16 , 75]

[{1115337740}]***Available display mode : [720 , 480 , 16 , 60]

[{1115337740}]***Available display mode : [720 , 480 , 16 , 75]

[{1115337740}]***Available display mode : [720 , 576 , 16 , 60]

[{1115337740}]***Available display mode : [720 , 576 , 16 , 75]

[{1115337740}]***Available display mode : [800 , 600 , 16 , 60]

[{1115337740}]***Available display mode : [800 , 600 , 16 , 75]

[{1115337740}]***Available display mode : [1024 , 768 , 16 , 60]

[{1115337740}]***Available display mode : [1024 , 768 , 16 , 75]

[{1115337740}]***Available display mode : [1152 , 864 , 16 , 60]

[{1115337740}]***Available display mode : [1152 , 864 , 16 , 75]

[{1115337740}]***Available display mode : [1280 , 720 , 16 , 60]

[{1115337740}]***Available display mode : [1280 , 720 , 16 , 59]

[{1115337740}]***Available display mode : [1280 , 720 , 16 , 75]

[{1115337740}]***Available display mode : [1280 , 768 , 16 , 60]

[{1115337740}]***Available display mode : [1280 , 768 , 16 , 75]

[{1115337740}]***Available display mode : [1280 , 960 , 16 , 60]

[{1115337740}]***Available display mode : [1280 , 960 , 16 , 75]

[{1115337740}]***Available display mode : [1280 , 1024 , 16 , 60]

[{1115337740}]***Available display mode : [1280 , 1024 , 16 , 75]

[{1115337740}]***[TestObjectManager--getDriver]--testCaseId:basicPerformance_addTwoRowsComponent

[{1115337740}]***basicPerformance_addTwoRowsComponent[TearDown]====afterMethod : url=https://test.com/

[{1115337740}]***basicPerformance_addTwoRowsComponent[TearDown]====afterMethod :basicPerformance_addTwoRowsComponent

FAILED CONFIGURATION: @BeforeMethod beforeTest(org.testng.TestRunner@29360691, public void com.morningstar.pa.tests.BasicPerformanceTest.basicPerformance_addTwoRowsComponent(org.testng.ITestContext,java.lang.reflect.Method) throws java.lang.Exception)
java.lang.UnsupportedOperationException: Cannot change display mode

  

原文地址:https://www.cnblogs.com/MasterMonkInTemple/p/5212884.html