From 09c9c4eaec232777ecd46506555c920e43493e70 Mon Sep 17 00:00:00 2001 From: guocan Date: Thu, 8 May 2025 13:12:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=BA=E6=99=AF=E6=96=B0=E5=A2=9Ebug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UiAutomationController.java | 7 -- .../service/impl/UiAutomationServiceImpl.java | 88 ++++++++++++++----- 2 files changed, 68 insertions(+), 27 deletions(-) diff --git a/test-test/src/main/java/com/test/test/controller/UiAutomationController.java b/test-test/src/main/java/com/test/test/controller/UiAutomationController.java index a42e90d..4a35ef2 100644 --- a/test-test/src/main/java/com/test/test/controller/UiAutomationController.java +++ b/test-test/src/main/java/com/test/test/controller/UiAutomationController.java @@ -36,8 +36,6 @@ public class UiAutomationController extends BaseController private IUiAutomationService uiAutomationService; @Autowired private IUiSceneStepsService uiSceneStepsService; - @Value("${test.selenium.chrome-driver-path}") - private String chromeDriverPath; /** * 查询ui自动化列表 @@ -120,11 +118,6 @@ public class UiAutomationController extends BaseController log.info("执行完成!"); return success(uiSceneStepsService.executeStep(id,triggerMode)); } catch (Exception e) { - System.setProperty("webdriver.chrome.driver", chromeDriverPath); - WebDriver driver = new ChromeDriver(); - SeleniumUtils seleniumUtils = new SeleniumUtils(driver); - //关闭浏览器 - seleniumUtils.quit(); log.error("执行错误!",e); return error("执行错误!"+e.getMessage()); } diff --git a/test-test/src/main/java/com/test/test/service/impl/UiAutomationServiceImpl.java b/test-test/src/main/java/com/test/test/service/impl/UiAutomationServiceImpl.java index 096bcca..ee1eab9 100644 --- a/test-test/src/main/java/com/test/test/service/impl/UiAutomationServiceImpl.java +++ b/test-test/src/main/java/com/test/test/service/impl/UiAutomationServiceImpl.java @@ -85,9 +85,9 @@ public class UiAutomationServiceImpl implements IUiAutomationService { popupTexts.add(extractionQO); } else if ("2".equals(extractionQO.getAssertionType())) { elementAssertions.add(extractionQO); - }else if ("3".equals(extractionQO.getAssertionType())) { + } else if ("3".equals(extractionQO.getAssertionType())) { dropdownBoxes.add(extractionQO); - }else if ("4".equals(extractionQO.getAssertionType())) { + } else if ("4".equals(extractionQO.getAssertionType())) { webTitles.add(extractionQO); } } @@ -159,9 +159,9 @@ public class UiAutomationServiceImpl implements IUiAutomationService { popupTexts.add(extractionQO); } else if ("2".equals(extractionQO.getAssertionType())) { elementAssertions.add(extractionQO); - }else if ("3".equals(extractionQO.getAssertionType())) { + } else if ("3".equals(extractionQO.getAssertionType())) { dropdownBoxes.add(extractionQO); - }else if ("4".equals(extractionQO.getAssertionType())) { + } else if ("4".equals(extractionQO.getAssertionType())) { webTitles.add(extractionQO); } } @@ -206,6 +206,7 @@ public class UiAutomationServiceImpl implements IUiAutomationService { } return uiHighSettingVOList; } + /** * 查询ui自动化列表 * @@ -274,25 +275,48 @@ public class UiAutomationServiceImpl implements IUiAutomationService { uiHighSetting.setCreateTime(DateUtils.getNowDate()); try { List combinedList1 = new ArrayList<>(); - combinedList1.addAll(uiHighSettingQO.getDataExtractionQOList().getWindowExtractions()); - combinedList1.addAll(uiHighSettingQO.getDataExtractionQOList().getElementExtractions()); + // 安全添加 windowExtractions + if (uiHighSettingQO.getDataExtractionQOList() != null && + uiHighSettingQO.getDataExtractionQOList().getWindowExtractions() != null) { + combinedList1.addAll(uiHighSettingQO.getDataExtractionQOList().getWindowExtractions()); + } + // 安全添加 elementExtractions + if (uiHighSettingQO.getDataExtractionQOList() != null && + uiHighSettingQO.getDataExtractionQOList().getElementExtractions() != null) { + combinedList1.addAll(uiHighSettingQO.getDataExtractionQOList().getElementExtractions()); + } //数据提取 String jsonStr = objectMapper.writeValueAsString(combinedList1); if (jsonStr != null) { uiHighSetting.setExtractionDataJson(jsonStr); } - //断言 List combinedList2 = new ArrayList<>(); - combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getPopupTexts()); - combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getElementAssertions()); - combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getDropdownBoxes()); - combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getWebTitles()); + // 安全添加 popupTexts + if (uiHighSettingQO.getAssertionQOList() != null && + uiHighSettingQO.getAssertionQOList().getPopupTexts() != null) { + combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getPopupTexts()); + } + // 安全添加 elementAssertions + if (uiHighSettingQO.getAssertionQOList() != null && + uiHighSettingQO.getAssertionQOList().getElementAssertions() != null) { + combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getElementAssertions()); + } + // 安全添加 dropdownBoxes + if (uiHighSettingQO.getAssertionQOList() != null && + uiHighSettingQO.getAssertionQOList().getDropdownBoxes() != null) { + combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getDropdownBoxes()); + } + // 安全添加 webTitles + if (uiHighSettingQO.getAssertionQOList() != null && + uiHighSettingQO.getAssertionQOList().getWebTitles() != null) { + combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getWebTitles()); + } jsonStr = objectMapper.writeValueAsString(combinedList2); if (jsonStr != null) { uiHighSetting.setAssertionJson(jsonStr); } //其他设置 - if (uiHighSettingQO.getOtherSettingsQO()!=null) { + if (uiHighSettingQO.getOtherSettingsQO() != null) { jsonStr = objectMapper.writeValueAsString(uiHighSettingQO.getOtherSettingsQO()); uiHighSetting.setOtherSetting(jsonStr); } @@ -358,25 +382,49 @@ public class UiAutomationServiceImpl implements IUiAutomationService { uiHighSetting.setCreateTime(DateUtils.getNowDate()); try { List combinedList1 = new ArrayList<>(); - combinedList1.addAll(uiHighSettingQO.getDataExtractionQOList().getWindowExtractions()); - combinedList1.addAll(uiHighSettingQO.getDataExtractionQOList().getElementExtractions()); + // 安全添加 windowExtractions + if (uiHighSettingQO.getDataExtractionQOList() != null && + uiHighSettingQO.getDataExtractionQOList().getWindowExtractions() != null) { + combinedList1.addAll(uiHighSettingQO.getDataExtractionQOList().getWindowExtractions()); + } + // 安全添加 elementExtractions + if (uiHighSettingQO.getDataExtractionQOList() != null && + uiHighSettingQO.getDataExtractionQOList().getElementExtractions() != null) { + combinedList1.addAll(uiHighSettingQO.getDataExtractionQOList().getElementExtractions()); + } //数据提取 String jsonStr = objectMapper.writeValueAsString(combinedList1); if (jsonStr != null) { uiHighSetting.setExtractionDataJson(jsonStr); } - //断言 + // 断言 List combinedList2 = new ArrayList<>(); - combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getPopupTexts()); - combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getElementAssertions()); - combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getDropdownBoxes()); - combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getWebTitles()); + // 安全添加 popupTexts + if (uiHighSettingQO.getAssertionQOList() != null && + uiHighSettingQO.getAssertionQOList().getPopupTexts() != null) { + combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getPopupTexts()); + } + // 安全添加 elementAssertions + if (uiHighSettingQO.getAssertionQOList() != null && + uiHighSettingQO.getAssertionQOList().getElementAssertions() != null) { + combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getElementAssertions()); + } + // 安全添加 dropdownBoxes + if (uiHighSettingQO.getAssertionQOList() != null && + uiHighSettingQO.getAssertionQOList().getDropdownBoxes() != null) { + combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getDropdownBoxes()); + } + // 安全添加 webTitles + if (uiHighSettingQO.getAssertionQOList() != null && + uiHighSettingQO.getAssertionQOList().getWebTitles() != null) { + combinedList2.addAll(uiHighSettingQO.getAssertionQOList().getWebTitles()); + } jsonStr = objectMapper.writeValueAsString(combinedList2); if (jsonStr != null) { uiHighSetting.setAssertionJson(jsonStr); } //其他设置 - if (uiHighSettingQO.getOtherSettingsQO()!=null) { + if (uiHighSettingQO.getOtherSettingsQO() != null) { jsonStr = objectMapper.writeValueAsString(uiHighSettingQO.getOtherSettingsQO()); uiHighSetting.setOtherSetting(jsonStr); }