场景执行bug修改
This commit is contained in:
@@ -94,9 +94,12 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
//创建报告步骤表
|
//创建报告步骤表
|
||||||
createSceneStepsReport(orderNumber, step, reportId);
|
createSceneStepsReport(orderNumber, step, reportId);
|
||||||
}
|
}
|
||||||
|
System.setProperty("webdriver.chrome.driver", chromeDriverPath);
|
||||||
|
WebDriver driver = new ChromeDriver();
|
||||||
|
SeleniumUtils seleniumUtils = new SeleniumUtils(driver);
|
||||||
try {
|
try {
|
||||||
// 3. 执行所有步骤
|
// 3. 执行所有步骤
|
||||||
executeAllSteps(steps, reportId);
|
executeAllSteps(steps, reportId,seleniumUtils);
|
||||||
log.info("场景执行成功: {}", automationId);
|
log.info("场景执行成功: {}", automationId);
|
||||||
uiReport.setConsoleStr("OK");
|
uiReport.setConsoleStr("OK");
|
||||||
uiReport.setStatus(3);
|
uiReport.setStatus(3);
|
||||||
@@ -136,7 +139,8 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
try {
|
try {
|
||||||
List<AssertionReportVO> assertions = gson.fromJson(
|
List<AssertionReportVO> assertions = gson.fromJson(
|
||||||
assertionJson,
|
assertionJson,
|
||||||
new TypeToken<List<AssertionReportVO>>(){}.getType()
|
new TypeToken<List<AssertionReportVO>>() {
|
||||||
|
}.getType()
|
||||||
);
|
);
|
||||||
int stepAssertionCount = assertions.size();
|
int stepAssertionCount = assertions.size();
|
||||||
int stepSuccessCount = (int) assertions.stream()
|
int stepSuccessCount = (int) assertions.stream()
|
||||||
@@ -171,6 +175,9 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
if (1 == uiReport.getStatus()){
|
||||||
|
uiReport.setStatus(4);
|
||||||
|
}
|
||||||
uiReportService.updateUiReport(uiReport);
|
uiReportService.updateUiReport(uiReport);
|
||||||
|
|
||||||
//修改ui_automation
|
//修改ui_automation
|
||||||
@@ -184,6 +191,9 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
uiAutomation1.setPassRate(stepsSucceedNumber == 0 ? "0%" :
|
uiAutomation1.setPassRate(stepsSucceedNumber == 0 ? "0%" :
|
||||||
String.format("%.2f%%", (double) stepsSucceedNumber / steps.size() * 100));
|
String.format("%.2f%%", (double) stepsSucceedNumber / steps.size() * 100));
|
||||||
uiAutomationMapper.updateUiAutomation(uiAutomation1);
|
uiAutomationMapper.updateUiAutomation(uiAutomation1);
|
||||||
|
|
||||||
|
//关闭浏览器
|
||||||
|
seleniumUtils.quit();
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -196,7 +206,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
*/
|
*/
|
||||||
private List<UiSceneSteps> validateAndGetSteps(Long automationId) {
|
private List<UiSceneSteps> validateAndGetSteps(Long automationId) {
|
||||||
List<UiSceneSteps> steps = uiSceneStepsMapper.selectUiSceneStepsById(automationId);
|
List<UiSceneSteps> steps = uiSceneStepsMapper.selectUiSceneStepsById(automationId);
|
||||||
steps = steps.stream().filter(e -> e.getIsDisabled() == 0).collect(Collectors.toList());
|
steps = steps.stream().filter(e -> 0 == e.getIsDisabled() ).collect(Collectors.toList());
|
||||||
if (CollectionUtils.isEmpty(steps)) {
|
if (CollectionUtils.isEmpty(steps)) {
|
||||||
throw new IllegalArgumentException("步骤不能为空");
|
throw new IllegalArgumentException("步骤不能为空");
|
||||||
}
|
}
|
||||||
@@ -230,10 +240,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
*
|
*
|
||||||
* @param steps
|
* @param steps
|
||||||
*/
|
*/
|
||||||
private void executeAllSteps(List<UiSceneSteps> steps, Long reportId) {
|
private void executeAllSteps(List<UiSceneSteps> steps, Long reportId,SeleniumUtils seleniumUtils) {
|
||||||
System.setProperty("webdriver.chrome.driver", chromeDriverPath);
|
|
||||||
WebDriver driver = new ChromeDriver();
|
|
||||||
SeleniumUtils seleniumUtils = new SeleniumUtils(driver);
|
|
||||||
Integer orderNumber = 0;
|
Integer orderNumber = 0;
|
||||||
UiSceneStepsReport uiSceneStepsReport = new UiSceneStepsReport();
|
UiSceneStepsReport uiSceneStepsReport = new UiSceneStepsReport();
|
||||||
uiSceneStepsReport.setReportId(reportId);
|
uiSceneStepsReport.setReportId(reportId);
|
||||||
@@ -249,7 +256,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
executeSingleStep(step, seleniumUtils, uiSceneStepsReports.get(0).getId(), uiHighSettingVOList);
|
executeSingleStep(step, seleniumUtils, uiSceneStepsReports.get(0).getId(), uiHighSettingVOList);
|
||||||
}
|
}
|
||||||
//关闭浏览器
|
//关闭浏览器
|
||||||
seleniumUtils.quit();
|
// seleniumUtils.quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void executeSingleStep(UiSceneSteps step, SeleniumUtils seleniumUtils,
|
private void executeSingleStep(UiSceneSteps step, SeleniumUtils seleniumUtils,
|
||||||
@@ -300,7 +307,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
execution, uiHighSettingVOList);
|
execution, uiHighSettingVOList);
|
||||||
if (!shouldContinue) {
|
if (!shouldContinue) {
|
||||||
//关闭浏览器
|
//关闭浏览器
|
||||||
seleniumUtils.quit();
|
// seleniumUtils.quit();
|
||||||
throw new IllegalArgumentException("步骤执行失败,根据设置终止场景执行");
|
throw new IllegalArgumentException("步骤执行失败,根据设置终止场景执行");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -433,8 +440,6 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 提取前置操作
|
* 提取前置操作
|
||||||
*
|
*
|
||||||
@@ -443,12 +448,13 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
*/
|
*/
|
||||||
private List<UiHighSettingVO> extractbeforeSetting(List<UiHighSettingVO> settings) {
|
private List<UiHighSettingVO> extractbeforeSetting(List<UiHighSettingVO> settings) {
|
||||||
return settings.stream()
|
return settings.stream()
|
||||||
.filter(e -> "1".equals(e.getSettingType()) && e.getIsDisabled() == 0)
|
.filter(e -> "1".equals(e.getSettingType()) && 0 == e.getIsDisabled() )
|
||||||
.collect(Collectors.toList()); // 返回默认设置
|
.collect(Collectors.toList()); // 返回默认设置
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 断言
|
* 断言
|
||||||
|
*
|
||||||
* @param settingList
|
* @param settingList
|
||||||
* @param seleniumUtils
|
* @param seleniumUtils
|
||||||
* @return
|
* @return
|
||||||
@@ -565,6 +571,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理元素断言
|
* 处理元素断言
|
||||||
|
*
|
||||||
* @param assertionQO 断言配置
|
* @param assertionQO 断言配置
|
||||||
* @param seleniumUtils Selenium工具类
|
* @param seleniumUtils Selenium工具类
|
||||||
* @param report 断言报告
|
* @param report 断言报告
|
||||||
@@ -728,6 +735,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理下拉框断言
|
* 处理下拉框断言
|
||||||
|
*
|
||||||
* @param assertionQO 断言配置
|
* @param assertionQO 断言配置
|
||||||
* @param seleniumUtils Selenium工具类
|
* @param seleniumUtils Selenium工具类
|
||||||
* @param report 断言报告
|
* @param report 断言报告
|
||||||
@@ -826,6 +834,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理网页标题断言
|
* 处理网页标题断言
|
||||||
|
*
|
||||||
* @param assertionQO 断言配置
|
* @param assertionQO 断言配置
|
||||||
* @param seleniumUtils Selenium工具类
|
* @param seleniumUtils Selenium工具类
|
||||||
* @param report 断言报告
|
* @param report 断言报告
|
||||||
@@ -859,6 +868,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取数据提取集合
|
* 获取数据提取集合
|
||||||
|
*
|
||||||
* @param settingList
|
* @param settingList
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -900,6 +910,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取数据提取集合具体实现
|
* 获取数据提取集合具体实现
|
||||||
|
*
|
||||||
* @param extraction
|
* @param extraction
|
||||||
* @param seleniumUtils
|
* @param seleniumUtils
|
||||||
* @return
|
* @return
|
||||||
@@ -945,7 +956,6 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取(前置//后置)等待时间
|
* 获取(前置//后置)等待时间
|
||||||
*
|
*
|
||||||
@@ -978,7 +988,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
*/
|
*/
|
||||||
private List<UiHighSettingVO> extractafterSetting(List<UiHighSettingVO> settings) {
|
private List<UiHighSettingVO> extractafterSetting(List<UiHighSettingVO> settings) {
|
||||||
return settings.stream()
|
return settings.stream()
|
||||||
.filter(e -> "2".equals(e.getSettingType()) && e.getIsDisabled() == 0)
|
.filter(e -> "2".equals(e.getSettingType()) &&0 == e.getIsDisabled())
|
||||||
.collect(Collectors.toList()); // 返回默认设置
|
.collect(Collectors.toList()); // 返回默认设置
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -990,7 +1000,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
*/
|
*/
|
||||||
private UiHighSettingVO extractErrorSetting(List<UiHighSettingVO> settings) {
|
private UiHighSettingVO extractErrorSetting(List<UiHighSettingVO> settings) {
|
||||||
return settings.stream()
|
return settings.stream()
|
||||||
.filter(e -> "3".equals(e.getSettingType()) && e.getIsDisabled() == 0)
|
.filter(e -> "3".equals(e.getSettingType()))
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(new UiHighSettingVO()); // 返回默认设置
|
.orElse(new UiHighSettingVO()); // 返回默认设置
|
||||||
}
|
}
|
||||||
@@ -1004,7 +1014,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
*/
|
*/
|
||||||
private UiHighSettingVO extractOtherSetting(List<UiHighSettingVO> settings) {
|
private UiHighSettingVO extractOtherSetting(List<UiHighSettingVO> settings) {
|
||||||
return settings.stream()
|
return settings.stream()
|
||||||
.filter(e -> "4".equals(e.getSettingType()) && e.getIsDisabled() == 0)
|
.filter(e -> "4".equals(e.getSettingType()))
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(new UiHighSettingVO()); // 返回默认设置
|
.orElse(new UiHighSettingVO()); // 返回默认设置
|
||||||
}
|
}
|
||||||
@@ -1020,7 +1030,7 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
*/
|
*/
|
||||||
private void openWebPage(UiSceneSteps step, SeleniumUtils seleniumUtils) {
|
private void openWebPage(UiSceneSteps step, SeleniumUtils seleniumUtils) {
|
||||||
//追加页面,在新的页面打开url,不勾选覆盖当前url 0不追加 1追加
|
//追加页面,在新的页面打开url,不勾选覆盖当前url 0不追加 1追加
|
||||||
Integer isAppendPage = step.getIsAppendPage(); // 0=当前页,1=新标签页
|
Integer isAppendPage = step.getIsAppendPage() == null ? 0 : step.getIsAppendPage(); // 0=当前页,1=新标签页
|
||||||
String url = step.getUrl();
|
String url = step.getUrl();
|
||||||
log.info("打开网页:{}, 模式:{}", url, isAppendPage == 1 ? "新标签页" : "当前页");
|
log.info("打开网页:{}, 模式:{}", url, isAppendPage == 1 ? "新标签页" : "当前页");
|
||||||
if (isAppendPage != null && isAppendPage == 1) {
|
if (isAppendPage != null && isAppendPage == 1) {
|
||||||
@@ -1494,6 +1504,4 @@ public class UiSceneStepsServiceImpl implements IUiSceneStepsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user