Skip to content

Commit

Permalink
Bugfix: add drivers when create bean of DeviceDriverManager (#416)
Browse files Browse the repository at this point in the history
* Bugfix: add drivers when create bean of DeviceDriverManager

* Update AppConfiguration.java

* Update DeviceDriverConfig.java
  • Loading branch information
zhou9584 committed Apr 7, 2023
1 parent 14eef70 commit 57d2ce9
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,6 @@ public class AppConfiguration {
Logger logger = LoggerFactory.getLogger(getClass());
@Resource
private AppOptions appOptions;
@Value("${spring.profiles.active:@null}")
private String activeProfile;
@Value("${app.registry.server}")
private String registryServer;
@Value("${app.device.state-change.count-threshold}")
Expand All @@ -61,12 +59,8 @@ public class AppConfiguration {
private long deviceStateChangeWindowTime;
@Value("${app.device.state-change.recovery-time}")
private long deviceStateChangeRecoveryTime;
@Value("${app.adb.host:}")
private String adbServerHost;
@Value("${app.pre-install.shutdown-if-fail:true}")
private Boolean shutdownIfFail;
@Value("${app.appium.host:}")
private String appiumServerHost;

@NotNull
private File getScreenshotDir() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

Expand All @@ -26,15 +25,34 @@
@Configuration
public class DeviceDriverConfig {

@Value("${app.device.monitor.android.enabled:false}")
boolean enableAndroid;
@Value("${app.device.monitor.windows.enabled:false}")
boolean enableWindows;
@Value("${app.device.monitor.ios.enabled:false}")
boolean enableIos;
Logger logger = LoggerFactory.getLogger(getClass());
@Value("${app.adb.host:}")
private String adbServerHost;
@Value("${app.appium.host:}")
private String appiumServerHost;

@Bean
public DeviceDriverManager deviceDriverManager() {
return new DeviceDriverManager();
public DeviceDriverManager deviceDriverManager(AgentManagementService agentManagementService, AppiumServerManager appiumServerManager, ADBOperateUtil adbOperateUtil) {
DeviceDriverManager deviceDriverManager = new DeviceDriverManager();
if (enableAndroid) {
AndroidDeviceDriver androidDeviceDriver = new AndroidDeviceDriver(agentManagementService, appiumServerManager, adbOperateUtil);
deviceDriverManager.addDeviceDriver(DeviceType.ANDROID, androidDeviceDriver);
}
if (enableIos) {
IOSDeviceDriver iosDeviceDriver = new IOSDeviceDriver(agentManagementService, appiumServerManager);
deviceDriverManager.addDeviceDriver(DeviceType.IOS, iosDeviceDriver);
}
if (enableWindows) {
WindowsDeviceDriver windowsDeviceDriver = new WindowsDeviceDriver(agentManagementService, appiumServerManager);
deviceDriverManager.addDeviceDriver(DeviceType.WINDOWS, windowsDeviceDriver);
}
return deviceDriverManager;
}

@Bean
Expand All @@ -56,31 +74,4 @@ public AppiumServerManager appiumServerManager() {
}
return appiumServerManager;
}

@Bean(name = "androidDeviceDriver")
@ConditionalOnProperty(prefix = "app.device.monitor.android", name = "enabled", havingValue = "true")
public AndroidDeviceDriver androidDeviceDriver(DeviceDriverManager deviceDriverManager, AgentManagementService agentManagementService,
AppiumServerManager appiumServerManager, ADBOperateUtil adbOperateUtil) {
AndroidDeviceDriver androidDeviceDriver = new AndroidDeviceDriver(agentManagementService, appiumServerManager, adbOperateUtil);
deviceDriverManager.addDeviceDriver(DeviceType.ANDROID, androidDeviceDriver);
return androidDeviceDriver;
}

@Bean(name = "iosDeviceDriver")
@ConditionalOnProperty(prefix = "app.device.monitor.ios", name = "enabled", havingValue = "true")
public IOSDeviceDriver iosDeviceDriver(DeviceDriverManager deviceDriverManager, AgentManagementService agentManagementService,
AppiumServerManager appiumServerManager) {
IOSDeviceDriver iosDeviceDriver = new IOSDeviceDriver(agentManagementService, appiumServerManager);
deviceDriverManager.addDeviceDriver(DeviceType.IOS, iosDeviceDriver);
return iosDeviceDriver;
}

@Bean(name = "windowsDeviceDriver")
@ConditionalOnProperty(prefix = "app.device.monitor.windows", name = "enabled", havingValue = "true")
public WindowsDeviceDriver windowsDeviceDriver(DeviceDriverManager deviceDriverManager, AgentManagementService agentManagementService,
AppiumServerManager appiumServerManager) {
WindowsDeviceDriver windowsDeviceDriver = new WindowsDeviceDriver(agentManagementService, appiumServerManager);
deviceDriverManager.addDeviceDriver(DeviceType.WINDOWS, windowsDeviceDriver);
return windowsDeviceDriver;
}
}

0 comments on commit 57d2ce9

Please sign in to comment.