1

来源:互联网 发布:制冷剂充注量计算软件 编辑:程序博客网 时间:2024/05/23 23:11
<?xml version="1.0" encoding="UTF-8"?><root>  <File type=".java" path="D:\OneMbps\st\com\huawei\genex\st\genexspace\aw\announcement\AW_SystemAnnouncement.java" name="AW_SystemAnnouncement.java"><![CDATA[package com.huawei.genex.st.genexspace.aw.announcement;import java.awt.event.KeyEvent;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;import junit.framework.Assert;import com.huawei.genex.st.genexspace.aw.currency.AW_FrameFunctionOperate;import com.huawei.genex.st.genexspace.aw.currency.AW_SeleniumMethod;import com.huawei.genex.st.genexspace.aw.setting.AW_SystemOperation;import com.huawei.genex.st.genexspace.locatorxpath.announcement.AnnouncementLoc;import com.huawei.genex.st.genexspace.variable.announcement.Var_AnnouncementParam;/*** *  * @author yWX5315962 *  */public class AW_SystemAnnouncement {/** * @author yWX5315962 *  * @进入平台系统公告界面 */public static void enterSystemAnnounceInterface() {AW_FrameFunctionOperate.aw_enterBasicFunction(Var_AnnouncementParam.ANNOUNCEMENT_ICON_NAME);}/** * @author yWX5315962 * @退出系统公告界面 */public static void quitSystemAnnounceInterface() {AW_SeleniumMethod.aw_LeftSingleClickByXpath(AnnouncementLoc.SYSTEM_ANNOUNCEMNET_INTERFACE_CLOSE_BTN_XPATH);AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);}/** * @author yWX5315962 *  * @点击不同的公告类型选项 */public static void clickLeftAnnounceTypeOption(String announceType) {String leftBodyContent = AW_SeleniumMethod.aw_getTextbyID(AnnouncementLoc.SYSTEM_ANNOUNCEMNET_LEFT_BODY_ID);String[] leftBodyContentArrays = leftBodyContent.split("\n");for (int i = 0; i < leftBodyContentArrays.length; i++) {System.out.println("leftBodyContentArrays: "+ leftBodyContentArrays[i]);if (leftBodyContentArrays[i].contains(announceType)) {AW_SeleniumMethod.aw_LeftSingleClickByXpath(AnnouncementLoc.SYSTEM_ANNOUNCEMNET_LEFT_TYPE_DYNAMIC_XPATH+ (i + 2) + "]");}}}/** * @author yWX5315962 * @判断右侧公告列表中是否包含此公告 */public static boolean ifHasAnnounce(String title, String announceType,String attachmentPath) {String announceContent = AW_SeleniumMethod.aw_getTextbyID(AnnouncementLoc.SYSTEM_ANNOUNCEMNET_RIGHT_LIST_BODY_ID);String[] announceContents = announceContent.trim().split("\n");int index = 1;for (int i = 0; i < announceContents.length; i += 3) {System.out.println("announceContents: " + announceContents[i]);index++;if (title.equals(announceContents[i].trim())&& announceType.equals(announceContents[i + 1].trim())) {AW_SeleniumMethod.aw_LeftSingleClickByXpath(AnnouncementLoc.SYSTEM_ANNOUNCEMNET_RIGHT_LIST_EACH_XAPTH+ index + "]/td[1]/div/span");String attachmentName = AW_SeleniumMethod.aw_getTextbyID(AnnouncementLoc.SYSTEM_ANNOUNCEMENT_ATTACHMENT_ID).length() > 0 ? AW_SeleniumMethod.aw_getTextbyXpath(AnnouncementLoc.SYSTEM_ANNOUNCEMENT_ATTACHMENT_NAME_XPATH): "$";return attachmentPath.contains(attachmentName);}}return false;}/** * 根据公告类型判断公告列表是否按各自时间倒正序排列 *  * @author yWX5315962 */public static boolean judgeAnnounceListOrder(String announceBodyContent,boolean isReverseOrder) {if (announceBodyContent.isEmpty()) {return true;}List<String> timeList = new ArrayList<String>();String[] announceContents = announceBodyContent.trim().split("\n");for (int i = 0; i < announceContents.length; i += 3) {System.out.println("announceContents: " + announceContents[i + 2]);timeList.add(announceContents[i + 2]);}return isTimeLinedByOrder(timeList, isReverseOrder);}/** * 判断公告列表发布时间是否按到/正序排列 *  * @author yWX5315962 */public static boolean isTimeLinedByOrder(List<String> list,boolean isReverseOrder) {Object[] arrays = list.toArray();if (arrays.length == 1) {return true;}try {for (int i = 0; i < arrays.length; i++) {if (isReverseOrder) {if (convertStr2TimeMillis((String) arrays[i]) < convertStr2TimeMillis((String) arrays[(i + 1 == arrays.length) ? i: i + 1])) {return false;}} else {if (convertStr2TimeMillis((String) arrays[i]) > convertStr2TimeMillis((String) arrays[(i + 1 == arrays.length) ? i: i + 1])) {return false;}}}} catch (ParseException e) {e.printStackTrace();}return true;}public static long convertStr2TimeMillis(String str) throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = sdf.parse(str);return date.getTime();}/** * @author yWX5315962 系统公告界面分页切换 */public static void clickNextPageJump(String announceListBodyId,String nextBtnXPath, int columns) {int announceCount = AW_SystemOperation.getEachPageCount(announceListBodyId, columns);if (announceCount < 10) {return;}int index = 1;while (announceCount == 10) {AW_SeleniumMethod.aw_LeftSingleClickByXpath(nextBtnXPath);AW_SeleniumMethod.aw_sleep(2);String pageNum = AW_SeleniumMethod.aw_GetAttrubuteByName("inputItem", "value");System.out.println("pageNum: " + pageNum);Assert.assertTrue((++index + "").equals(pageNum));announceCount = AW_SystemOperation.getEachPageCount(announceListBodyId, columns);}}/** * @author yWX5315962 系统公告界面分页切换 */public static void clickLastPageJump(String lastBtnXPath) {String firstPageNumStr = AW_SeleniumMethod.aw_GetAttrubuteByName("inputItem", "value");int firstPageNum = Integer.valueOf(firstPageNumStr);while (firstPageNum != 1) {AW_SeleniumMethod.aw_LeftSingleClickByXpath(lastBtnXPath);AW_SeleniumMethod.aw_sleep(2);String pageNum = AW_SeleniumMethod.aw_GetAttrubuteByName("inputItem", "value");Assert.assertTrue((--firstPageNum + "").equals(pageNum));}}/** * 根据公告标题点击特定公告 *  * @author yWX5315962 */public static void clickAnnounceByTitle(String title) {String announceContent = AW_SeleniumMethod.aw_getTextbyID(AnnouncementLoc.SYSTEM_ANNOUNCEMNET_RIGHT_LIST_BODY_ID);String[] announceContents = announceContent.trim().split("\n");int index = 1;for (int i = 0; i < announceContents.length; i += 3) {System.out.println("announceContents: " + announceContents[i]);index++;if (title.equals(announceContents[i].trim())) {AW_SeleniumMethod.aw_LeftSingleClickByXpath(AnnouncementLoc.SYSTEM_ANNOUNCEMNET_RIGHT_LIST_EACH_XAPTH+ index + "]/td[1]/div/span");break;}}}/** * @author yWX5315962 * @获取全部公告数和未读公告数 */public static String getUnreadCountAndTotalCountByType(String leftBody,String type) {Pattern p = Pattern.compile(".+\\((\\d+/\\d+)\\)");String[] leftBodyArrays = leftBody.split("\n");for (String content : leftBodyArrays) {content = content.replace(" ", "");Matcher m = p.matcher(content);if (content.contains(type) && m.find()) {return m.group(1);}}return "";}}]]></File>  <File type=".java" path="D:\OneMbps\st\com\huawei\genex\st\genexspace\aw\commonoperate\AW_ModuleOperate.java" name="AW_ModuleOperate.java"><![CDATA[package com.huawei.genex.st.genexspace.aw.commonoperate;import java.awt.event.KeyEvent;import com.huawei.genex.st.genexspace.aw.currency.AW_SeleniumMethod;import com.huawei.genex.st.genexspace.aw.currency.AW_SeleniumWidgetOperate;import com.huawei.genex.st.genexspace.locatorxpath.operationxpath.PeculiarityLocator;import com.huawei.genex.st.genexspace.variable.common.Var_CommonParam;/** *  * @author zKF54587 * */public class AW_ModuleOperate {static Var_CommonParam commonParam = new Var_CommonParam();/** * 看网、MR、维护SOP看网都有此功能 * 设置看网目的 */public static void aw_setNetPrupose(PeculiarityLocator peculiarityLocator, Var_CommonParam commonParam){AW_SeleniumMethod.aw_setTextByID(peculiarityLocator.PurposeId, commonParam.NevPurposeValue);}/** * 设置运营商数据 *  */public static void aw_setOperateDatas(PeculiarityLocator peculiarityLocator, Var_CommonParam commonParam){if(!commonParam.getRegionValue().isEmpty()){// 填写片区信息AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.RegionRightXpath, peculiarityLocator.RegionDatasXpath, commonParam.getRegionValue());}if(!commonParam.getNationValue().isEmpty()){// 填写代表处信息AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NationRightXpath, peculiarityLocator.NationDatasXpath, commonParam.getNationValue());}if(!commonParam.getAgencyValue().isEmpty()){// 填写运营商信息AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.AgencyRightXpath, peculiarityLocator.AgencyDatasXpath, commonParam.getAgencyValue());}}/** * 设置网络制式和网元版本 */public static void aw_setNetworkTypeAndNeversionType(PeculiarityLocator peculiarityLocator, Var_CommonParam commonParam){if(!commonParam.getNetworkValue().isEmpty()){// 设置网络制式AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NetworkRightXpath, peculiarityLocator.NetworkDatasXpath, commonParam.getNetworkValue());AW_OperationHandle.aw_waitPrjPackageLoadComplete(peculiarityLocator);//解决最小化问题if( commonParam.getNetworkValue().equals("UMTS")&&commonParam.getNeversionValue().equals("BSC6900V900R012C01")){commonParam.setNeversionValue("BSC6900V900R013C00");AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NeversionRightXpath, peculiarityLocator.NeversionDatasXpath, commonParam.getNeversionValue());AW_OperationHandle.aw_waitPrjPackageLoadComplete(peculiarityLocator);commonParam.setNeversionValue("BSC6900V900R012C01");AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NeversionRightXpath, peculiarityLocator.NeversionDatasXpath, commonParam.getNeversionValue());AW_OperationHandle.aw_waitPrjPackageLoadComplete(peculiarityLocator);}else if( commonParam.getNetworkValue().equals("CDMA")&&commonParam.getNeversionValue().equals("BSC6600V200R006C02")){commonParam.setNeversionValue("BSC6600V200R006C03");AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NeversionRightXpath, peculiarityLocator.NeversionDatasXpath, commonParam.getNeversionValue());AW_OperationHandle.aw_waitPrjPackageLoadComplete(peculiarityLocator);commonParam.setNeversionValue("BSC6600V200R006C02");AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NeversionRightXpath, peculiarityLocator.NeversionDatasXpath, commonParam.getNeversionValue());AW_OperationHandle.aw_waitPrjPackageLoadComplete(peculiarityLocator);}else if( commonParam.getNetworkValue().equals("LTE")&&commonParam.getNeversionValue().equals("LTE FDD V100R003C00")){commonParam.setNeversionValue("LTE FDD V100R004C00");AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NeversionRightXpath, peculiarityLocator.NeversionDatasXpath, commonParam.getNeversionValue());AW_OperationHandle.aw_waitPrjPackageLoadComplete(peculiarityLocator);commonParam.setNeversionValue("LTE FDD V100R003C00");AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NeversionRightXpath, peculiarityLocator.NeversionDatasXpath, commonParam.getNeversionValue());AW_OperationHandle.aw_waitPrjPackageLoadComplete(peculiarityLocator);}else{// 设置网元版本AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NeversionRightXpath, peculiarityLocator.NeversionDatasXpath, commonParam.getNeversionValue());AW_OperationHandle.aw_waitPrjPackageLoadComplete(peculiarityLocator);}}}/** * 设置网络制式和网元版本 */public static void aw_setNetworkType(PeculiarityLocator peculiarityLocator, Var_CommonParam commonParam){// 设置网络制式AW_SeleniumWidgetOperate.aw_setComboxValue(peculiarityLocator.NetworkRightXpath, peculiarityLocator.NetworkDatasXpath, commonParam.getNetworkValue());AW_OperationHandle.aw_waitPrjPackageLoadComplete(peculiarityLocator);}/** * 设置报告语言类型 */public static void aw_setReportLanguageType(PeculiarityLocator peculiarityLocator, Var_CommonParam commonParam){if(commonParam.getReportLanguageTypeValue().equals("中文")){AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.ReportLanguageTypeChId);} else {AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.ReportLanguageTypeEnId);}}/** *  * 设置报告类型 */public static void aw_setReportType(PeculiarityLocator peculiarityLocator, Var_CommonParam commonParam){if(commonParam.getReportTypeValue().equals("WordAndExcel")){AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.ReportTypeWordAndExcelId);} else {AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.ReportTypeExcelId);}}/** * * 设置忙时1 */public static void aw_setBusyTime1(PeculiarityLocator peculiarityLocator, Var_CommonParam commonParam){// 设置忙时1// 设置checkboxAW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.BusyTime1Id);//忙时下拉框AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.Busytime1Time1LeftId);int nindex1 = commonParam.getBusytime1Time1ValueIndex();for(int i=0;i<nindex1;++i){AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_DOWN);}AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);//忙时下拉框AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.Busytime1Time2RightId);int nindex2 = commonParam.getBusytime1Time2ValueIndex();for(int i=0;i<nindex2;++i){AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_DOWN);}AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);}/** * 设置忙时2 */public static void aw_setBusyTime2(PeculiarityLocator peculiarityLocator, Var_CommonParam commonParam){//checkbox选中AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.BusyTime2Id);//忙时下拉框AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.Busytime2Time1LeftId);int nindex1 = commonParam.getBusytime2Time1ValueIndex();for(int i=0;i<nindex1;++i){AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_DOWN);}AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);//忙时下拉框AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.Busytime2Time2RightId);int nindex2 = commonParam.getBusytime2Time2ValueIndex();for(int i=0;i<nindex2;++i){AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_DOWN);}AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);}/** * 获取任务号(基本信息页面) */public static String aw_getTaskId(PeculiarityLocator peculiarityLocator){String taskId = AW_SeleniumMethod.aw_getTextbyID(peculiarityLocator.TaskIdCreateTaskId);return taskId;}/** * 历史数据重用(基本信息页面) */public static void aw_SetDataReuse(PeculiarityLocator peculiarityLocator){ AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.HistroyDataReuseCheckboxId); AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.HistroyDataReuseFileChooseBtnId); AW_SeleniumMethod.aw_LeftSingleClickByXpath(peculiarityLocator.HistroyDataReuseTaskXpath); AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.HistoryDataReuseSureBtnId);  }}]]></File>  <File type=".java" path="D:\OneMbps\st\com\huawei\genex\st\genexspace\aw\commonoperate\AW_OperationHandle.java" name="AW_OperationHandle.java"><![CDATA[package com.huawei.genex.st.genexspace.aw.commonoperate;import com.huawei.genex.st.genexspace.aw.currency.AW_CommonOperate;import com.huawei.genex.st.genexspace.aw.currency.AW_SeleniumMethod;import com.huawei.genex.st.genexspace.locatorxpath.operationxpath.PeculiarityLocator;import com.huawei.genex.st.genexspace.variable.common.Var_CommonParam;public class AW_OperationHandle {/** * @function 新建任务第一个页面 暂时不包括重用历史数据的功能 * @author zKF54587 * @time 2013/3/28 */public static void aw_TaskBasicInfo_CreateTask(PeculiarityLocator peculiarityLocator, Var_CommonParam commonParam) {// 设置运营商数据AW_ModuleOperate.aw_setOperateDatas(peculiarityLocator, commonParam);// 设置网络制式和网元版本AW_ModuleOperate.aw_setNetworkTypeAndNeversionType(peculiarityLocator,commonParam);// 设置看网目的if (!commonParam.getNevPurposeValue().isEmpty()) {AW_ModuleOperate.aw_setNetPrupose(peculiarityLocator, commonParam);}// 设置报告语言类型if (!commonParam.getReportLanguageTypeValue().isEmpty()) {AW_ModuleOperate.aw_setReportLanguageType(peculiarityLocator,commonParam);}if (commonParam.GetHistoryDatareuseFlag())// 设置报告类型{AW_ModuleOperate.aw_SetDataReuse(peculiarityLocator);}// if (!commonParam.getReportTypeValue().isEmpty()) {// AW_ModuleOperate.aw_setReportType(peculiarityLocator, commonParam);// }// 设置忙时1if (-1 != commonParam.getBusytime1Time1ValueIndex()) {// 设置checkboxAW_ModuleOperate.aw_setBusyTime1(peculiarityLocator, commonParam);}// 设置忙时2if (-1 != commonParam.getBusytime2Time1ValueIndex()) {// 设置checkboxAW_ModuleOperate.aw_setBusyTime2(peculiarityLocator, commonParam);}}/** * 操作下一步按钮,进入数据上传页面 *  * @param operateType *            业务类型 * @author zKF54587 * @time 2013/7/12 */public static void aw_clickNextStepBtn_CreateTask(PeculiarityLocator peculiarityLocator) {AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.NextStepBtnCreateTaskId);AW_SeleniumMethod.aw_sleep(2);}/** * 等待工程包加载完毕 支持MR看网,看网,维护SOP *  */public static void aw_waitPrjPackageLoadComplete(PeculiarityLocator peculiarityLocator) {String content = AW_SeleniumMethod.aw_getTextbyID(peculiarityLocator.prjPackageContentId);long startTime = AW_CommonOperate.aw_GetCurrentTimeMillisecond();while ("".equals(content)) {long endTime = AW_CommonOperate.aw_GetCurrentTimeMillisecond();long time = (endTime - startTime) / 1000;if (60 < time) {break;}content = AW_SeleniumMethod.aw_getTextbyID(peculiarityLocator.prjPackageContentId);AW_SeleniumMethod.aw_sleep(1);}}}]]></File>  <File type=".java" path="D:\OneMbps\st\com\huawei\genex\st\genexspace\aw\commonoperate\AW_TaskManageOperate.java" name="AW_TaskManageOperate.java"><![CDATA[package com.huawei.genex.st.genexspace.aw.commonoperate;import java.awt.event.KeyEvent;import java.util.ArrayList;import java.util.List;import com.huawei.genex.st.genexspace.aw.currency.AW_CommonOperate;import com.huawei.genex.st.genexspace.aw.currency.AW_SeleniumMethod;import com.huawei.genex.st.genexspace.locatorxpath.maintenancesop.MaintenancesopLoc;import com.huawei.genex.st.genexspace.locatorxpath.operationxpath.PeculiarityLocator;import com.huawei.genex.st.genexspace.locatorxpath.task.TaskLoc;/******************************************** *  * 提供任务相关的操作 * @author zKF54587 * */public class AW_TaskManageOperate {/** * 查看是否存在指定状态的任务,并返回任务在列表中的位置 * @param peculiarityLocator * @param taskStatus * @return * @author zKF54587 */public static List<Integer> aw_getTaskListByStatus(PeculiarityLocator peculiarityLocator, String taskStatus) {// 刷新任务列表本// selenium.click(LocatorBenchmarkXpath.BENCHMARK_REFRESH_TASKLIST_CLICK);String[] taskInfoList = aw_getAllTaskByTaskTable(peculiarityLocator);List<Integer> objectTaskList = new ArrayList<Integer>();for(int i=0; i < taskInfoList.length; i++){if(taskInfoList[i].contains(taskStatus)){objectTaskList.add(i+1);}}return objectTaskList;}public static String aw_monitorTaskStatus(PeculiarityLocator peculiarityLocator, String taskId) {// 先确认此任务在任务列表中的位置//AW_SeleniumMethod.aw_LeftSingleClickByXpath(peculiarityLocator.taskManageXpath);// 刷新任务列表本String taskInfo = "";boolean isComplete = false;long startTime = AW_CommonOperate.aw_GetCurrentTimeMillisecond();while (!isComplete) {long endTime = AW_CommonOperate.aw_GetCurrentTimeMillisecond();long time = (endTime - startTime) / (1000 * 60);AW_SeleniumMethod.aw_sleep(5);taskInfo = aw_getTaskInfoByTaskId(peculiarityLocator, taskId);System.out.println("task:" + taskInfo);if (180 < time) {break;}if (taskInfo.contains(taskId)) {if (taskInfo.contains("成功")||taskInfo.contains("部分成功")||taskInfo.contains("失败")) {break;}}}return taskInfo;}/** * 监控指定任务的任务状态,处理完成后返回处理结果 *  * @param taskId * @param 功能模块 * @return String 返回任务列表中显示的此任务的信息 * @author zKF54587 */public static String aw_monitorTaskStatus2(PeculiarityLocator peculiarityLocator, String taskId) {// 先确认此任务在任务列表中的位置// 刷新任务列表本String taskInfo = "";boolean isComplete = false;long startTime = AW_CommonOperate.aw_GetCurrentTimeMillisecond();while (!isComplete) {long endTime = AW_CommonOperate.aw_GetCurrentTimeMillisecond();long time = (endTime - startTime) / (1000 * 60);AW_SeleniumMethod.aw_sleep(5);taskInfo = aw_getTaskInfoByTaskId2(peculiarityLocator, taskId);System.out.println("task:" + taskInfo);if (120 < time) {break;}if (taskInfo.contains(taskId)) {if (taskInfo.contains("成功")||taskInfo.contains("部分成功")||taskInfo.contains("失败")) {break;}}}return taskInfo;}public static String aw_getListXpath(PeculiarityLocator peculiarityLocator, String taskId){String taskXpath = "";String[] taskStatusList = aw_getAllTaskByTaskTable2(peculiarityLocator);for (int i = 0; i < taskStatusList.length; i++) {if (taskStatusList[i].contains(taskId)) {      int nIndextr = 2;  int nPos =  AW_TaskManageOperate.aw_getIndexByTaskId2(peculiarityLocator, taskId);  if(i==0){  nIndextr+=nPos;  }else{  nIndextr=(nIndextr+nPos)-(nPos/11)*10;  }  taskXpath = "//div[@id='sopCollectTaskGridId-body']/div/table/tbody/tr["+ nIndextr+ "]/"+"td[1]/div/img";break;}}return taskXpath;}/** * 监控指定任务的任务状态,处理完成后返回处理结果 *  * @param taskId * @param 功能模块 * @return String 返回任务列表中显示的此任务的信息 * @author zKF54587 */public static String aw_getTaskStatus(PeculiarityLocator peculiarityLocator, String taskId) {// 先确认此任务在任务列表中的位置// 刷新任务列表本String taskInfo = "";boolean isComplete = false;taskInfo = aw_getTaskInfoByTaskId(peculiarityLocator, taskId);return taskInfo;}/** * 监控指定任务的任务状态,处理完成后返回处理结果 1 代表 "已提交IBMS" 2 代表 "异常" 3代表 "失败" 4代表 "成功" 0 * 代表超时或者其他异常 * @author zKF54587 */public static int aw_monitorTaskStatusReturnInt(PeculiarityLocator peculiarityLocator, String taskId) {String taskInfo = aw_monitorTaskStatus(peculiarityLocator, taskId);if(taskInfo.contentEquals("异常")){return 1;}else if(taskInfo.contentEquals("失败")){return 2;}else if(taskInfo.contentEquals("成功")){return 3;}else {return 0;}}/** * 新建任务完成后,监听任务执行完成,并检查任务执行结果是否与预期结果一致 *  * @param taskId *            任务号 * @param taskStatusException *            期望的任务执行结果 * @return 执行结果与期望结果是否一致 * @author zKF54587 */public static boolean aw_checkTaskStatusIsExpectResult(PeculiarityLocator peculiarityLocator, String taskId, String taskStatusException){String taskDealResult = aw_monitorTaskStatus(peculiarityLocator, taskId);return taskDealResult.contains(taskStatusException);}/** * 获取指定任务信息 *  * @param taskId *            任务号 * @param refreshTaskListXpath *            刷新任务列表xpath * @param tasklistXpath *            只能写到table那一层 * @return 任务列表现在的该任务信息 * @author zKF54587 */public static String aw_getTaskInfoByTaskId(PeculiarityLocator peculiarityLocator, String taskId) {String taskInfo = "";String[] taskStatusList = aw_getAllTaskByTaskTable(peculiarityLocator);for (int i = 0; i < taskStatusList.length; i++) {if (taskStatusList[i].contains(taskId)) {taskInfo = taskStatusList[i];break;}}return taskInfo;}/** * 获取指定任务信息 *  * @param taskId *            任务号 * @param refreshTaskListXpath *            刷新任务列表xpath * @param tasklistXpath *            只能写到table那一层 * @return 任务列表现在的该任务信息 * @author zKF54587 */public static String aw_getTaskInfoByTaskId2(PeculiarityLocator peculiarityLocator, String taskId) {String taskInfo = "";String[] taskStatusList = aw_getAllTaskByTaskTable3(peculiarityLocator);for (int i = 0; i < taskStatusList.length; i++) {if (taskStatusList[i].contains(taskId)) {taskInfo = taskStatusList[i]+ taskStatusList[i+1];break;}}return taskInfo;}/** * 根据taskId 判断这个任务是不是指定的状态 * @param taskId * @param status * @param tasklistXpath *            只能写到table那一层 * @return * @author zKF54587 */public static boolean aw_IsThisTaskInTheStatus(PeculiarityLocator peculiarityLocator, String taskId, String taskStatus) {String taskInfo = aw_getTaskInfoByTaskId(peculiarityLocator, taskId);return taskInfo.contains(taskStatus);}/** * 获取任务列表显示的所有任务 * @author zKF54587 */public static String[] aw_getAllTaskByTaskTable(PeculiarityLocator peculiarityLocator) {String taskInfo = AW_SeleniumMethod.aw_getTextbyID(peculiarityLocator.taskListInfoId).trim();String[] taskInfoList = taskInfo.split("\n ");return taskInfoList;}/** * 获取任务列表显示的所有任务 * @author zKF54587 */public static String[] aw_getAllTaskByTaskTable2(PeculiarityLocator peculiarityLocator) {String taskInfo = AW_SeleniumMethod.aw_getTextbyID(peculiarityLocator.sopCollectTaskGridId).trim();String[] taskInfoList = taskInfo.split("\n");return taskInfoList;}/** * 获取任务列表显示的所有任务 * @author zKF54587 */public static String[] aw_getAllTaskByTaskTable3(PeculiarityLocator peculiarityLocator) {String taskInfo = AW_SeleniumMethod.aw_getTextbyID(peculiarityLocator.sopReportCollectGridId).trim();String[] taskInfoList = taskInfo.split("\n");return taskInfoList;}/** * 根据指定的任务号,查看任务在任务列表中的位置 * @author zKF54587 */public static int aw_getIndexByTaskId(PeculiarityLocator peculiarityLocator, String taskId){int taskIndex = -1;String[] taskInfoList = aw_getAllTaskByTaskTable(peculiarityLocator);for(int i=0; i < taskInfoList.length; i++){if(taskInfoList[i].contains(taskId)){taskIndex = i;break;}}return taskIndex;}/** * 根据指定的任务号,查看任务在任务列表中的位置 * @author zKF54587 */public static int aw_getIndexByTaskId3(PeculiarityLocator peculiarityLocator, String taskId){int taskIndex = -1;String[] taskInfoList = aw_getAllTaskByTaskTable3(peculiarityLocator);for(int i=0; i < taskInfoList.length; i++){if(taskInfoList[i].contains(taskId)){if(i==0){taskIndex = i;}else{taskIndex = taskIndex/9;}break;}}return taskIndex;}/** * 根据指定的任务号,查看任务在任务列表中的位置 * @author zKF54587 */public static int aw_getIndexByTaskId2(PeculiarityLocator peculiarityLocator, String taskId){int taskIndex = -1;String[] taskInfoList = aw_getAllTaskByTaskTable2(peculiarityLocator);for(int i=0; i < taskInfoList.length; i++){if(taskInfoList[i].contains(taskId)){taskIndex = i;break;}}return taskIndex;}/**  * 点击对应的任务的任务状态链接查看任务状态详细信息  * @author zKF54587 * */public static String[] aw_examineTaskstatusInfo(PeculiarityLocator peculiarityLocator, String taskId){//根据任务号查询任务在任务列表中的位置int taskIndex = aw_getIndexByTaskId(peculiarityLocator, taskId);/** 点击任务状态列 */AW_SeleniumMethod.aw_LeftSingleClickByXpath(peculiarityLocator.taskInfoLineXpath+"/tr[" + taskIndex + "]/td[3]/div");/** 获取详细的任务信息 */String[] taskStatusInfo = AW_SeleniumMethod.aw_getTextbyID(peculiarityLocator.taskStatusInfoWindowId).split("\n");return taskStatusInfo;}/** * 检查网元状态是否正确 * @author zKF54587 */public static boolean aw_checkNeversionStatucIsOK(String[] neversionInfoList, String[] neversionStatusList){boolean isRight = false;return isRight;}/**  * 在任务管理页面删除指定状态的任务(只支持能正常删除的情况)  * @author zKF54587 * */public static boolean aw_deleteTaskByTaskId(PeculiarityLocator peculiarityLocator, String taskId){//根据任务号查询任务在任务列表中的位置int taskIndex = AW_TaskManageOperate.aw_getIndexByTaskId(peculiarityLocator, taskId) + 2;// 选重任务AW_SeleniumMethod.aw_LeftSingleClickByXpath(peculiarityLocator.taskInfoLineXpath+"/tr[" + taskIndex + "]/td[1]/div");AW_SeleniumMethod.aw_sleep(3);// 点击删除按钮AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.deleteTaskBtnId);//确认删除成功int index = AW_TaskManageOperate.aw_getIndexByTaskId(peculiarityLocator, taskId);boolean isDeleteOK=false;if(index == -1){isDeleteOK = true;}return isDeleteOK;}/**  * 任务管理页面查询功能  * @author zKF54587 * */public static boolean aw_selectOnTaskmanage(PeculiarityLocator peculiarityLocator, String selectInfo){boolean isOk = true;// 输入查询信息AW_SeleniumMethod.aw_setTextByID(peculiarityLocator.selectInputOnTaskmanageId, selectInfo);// 点击查询按钮AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.selectBtnOnTaskmanageId);//获取查询结果中的任务信息String[] selectResults = AW_TaskManageOperate.aw_getAllTaskByTaskTable(peculiarityLocator);//确认查询结果是否OKfor(int i=0; i < selectResults.length; i++){if(!selectResults[i].contains(selectInfo)){isOk = false;}}return isOk;}/** 


 

0 0
原创粉丝点击