8

来源:互联网 发布:c语言学生管理系统 编辑:程序博客网 时间:2024/04/29 15:00
{int nIndextr = 1;int nPos = aw_getIndexByThreadItemName(itemName);nIndextr += nPos;String taskxpath = "//div[@id='cdrSetThresholdGridId-body']/div/table/tbody/tr[2]/td[4]/div";System.out.println(taskxpath);AW_SeleniumMethod.aw_doubleclickbyXpath(taskxpath);for(int i=0; i<4;++i){AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_DELETE);}AW_SeleniumMethod.aw_keyboardinput(itemvalue);AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);}public static void SetThreadValueUMTS(String itemName,String itemvalue){int nIndextr = 1;int nPos = aw_getIndexByThreadItemNameUMTS(itemName);nIndextr += nPos;String taskxpath = "//div[@id='umtsSetThresholdGridId-body']/div/table/tbody/tr[2]/td[3]/div";System.out.println(taskxpath);AW_SeleniumMethod.aw_doubleclickbyXpath(taskxpath);for(int i=0; i<4;++i){AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_DELETE);}AW_SeleniumMethod.aw_keyboardinput(itemvalue);AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);}}]]></File>  <File type=".java" path="D:\OneMbps\st\com\huawei\genex\st\genexspace\aw\netevaluation\AW_NetEvaOperator.java" name="AW_NetEvaOperator.java"><![CDATA[package com.huawei.genex.st.genexspace.aw.netevaluation;import java.awt.event.KeyEvent;import java.util.Set;import org.openqa.selenium.WebDriver;import junit.framework.Assert;import com.huawei.genex.st.genexspace.aw.commonoperate.AW_ModuleOperate;import com.huawei.genex.st.genexspace.aw.commonoperate.AW_OperationHandle;import com.huawei.genex.st.genexspace.aw.commonoperate.AW_TaskManageOperate;import com.huawei.genex.st.genexspace.aw.currency.AW_CommonOperate;import com.huawei.genex.st.genexspace.aw.currency.AW_FileHandle;import com.huawei.genex.st.genexspace.aw.currency.AW_FileUpload;import com.huawei.genex.st.genexspace.aw.currency.AW_ReportResultsValidate;import com.huawei.genex.st.genexspace.aw.currency.AW_SeleniumMethod;import com.huawei.genex.st.genexspace.locatorxpath.netnevaluation.NetNevaluationLoc;import com.huawei.genex.st.genexspace.locatorxpath.operationxpath.PeculiarityLocator;import com.huawei.genex.st.genexspace.variable.basic.Var_BasicOperateObject;import com.huawei.genex.st.genexspace.variable.common.Var_CommonParam;import com.huawei.genex.st.genexspace.variable.netnev.Var_NetNevParam;import com.huawei.genex.st.genexspace.variable.networkoptimize.Var_NetworkOptimize;import com.huawei.smartgui.system.Keyboard;/********************************************* * 看网特性功能页面上特有的操作 * @author zKF54587 * *********************************************/public class AW_NetEvaOperator extends Var_BasicOperateObject{/** * 进入看网任务管理 *  * @author zKF54587 * */public static void aw_enterNetNevTaskManage() {AW_SeleniumMethod.aw_LeftSingleClickByID("evaluationTaskManagePanelId_span");}/** * 进入看网任务新增 * @author zKF54587 */public static void aw_enterNetNevCreateTask(){AW_SeleniumMethod.aw_LeftSingleClickByID("evaluationTaskCreatePanelId_span");}/** * 保存草稿 * @author zKF54587 */public static void aw_saveDraft(PeculiarityLocator peculiarityLocator){// 点击保存草稿按钮AW_SeleniumMethod.aw_LeftSingleClickByID(peculiarityLocator.SaveDraftBtnCreateTaskId);// 确认保存成功窗口AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);}/**  * TOPN  * @author zKF54587 * */public static void aw_setTOPN(String topnValue){AW_SeleniumMethod.aw_setTextByID(NetNevaluationLoc.nevTOPNId, topnValue);}/**  * 打开重用历史数据选择框  * @author zKF54587 * */public static void aw_reuseOldData(){AW_SeleniumMethod.aw_LeftSingleClickByID(NetNevaluationLoc.reuseOldDataId);AW_SeleniumMethod.aw_LeftSingleClickByID(NetNevaluationLoc.selectHistoryDataId);}/** * @function 判断预测因子文件选择窗口是否已经打开 * @author zKF54587 * @time 2013/8/13 *///public static void aw_judgeWindowExist(String windowName) {//Window.winWait(windowName, "", 60);//// 确认是当前对话框是否打开//Window.winActivate(windowName);//Window.winWaitActive(windowName);//}/** *  * @author zKF54587 */public static void aw_openFileOnForecastGeneUpload(){AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_TAB);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_TAB);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);}/** * 预测因子上传页面,检查提交按钮是否可用 * @author zKF54587 */public static boolean aw_affirmSubmitBtnIsUsable(){long oldTime = AW_CommonOperate.aw_GetCurrentTimeMillisecond();while (true) {long newTime = AW_CommonOperate.aw_GetCurrentTimeMillisecond();long time = (newTime - oldTime) / (1000 * 60);//获取上传按钮的sumbit属性//String isDisabled = aw_getHtmlElementObject(//"", "id")//.getAttribute("disabled");//if ("false".equals(isDisabled) || 30 < time) {////return "false";//// break;//}AW_CommonOperate.sleep(5000);}}/** * 上传预测因子 * @author zKF54587 */public static void aw_uploadForecastGene(String uplaodFilePath){AW_SeleniumMethod.aw_sleep(10);System.out.println("ing.... start...!");//点击文件浏览按钮,输入预测因子文件路径AW_SeleniumMethod.aw_SendKeysWithoutClearByID(NetNevaluationLoc.forecastGeneFileScanBtnId, uplaodFilePath);System.out.println("ing.... ing...!");//点击上传按钮AW_SeleniumMethod.aw_LeftSingleClickByID(NetNevaluationLoc.forecastGeneFileUploadBtnId);//等待数据上传完成,检查提交按钮是否可用AW_SeleniumMethod.aw_isEnablebyId(NetNevaluationLoc.forecastGeneUploadSubmitId);//处理文件上传成功提示框AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);//点击提交按钮AW_SeleniumMethod.aw_LeftSingleClickByID(NetNevaluationLoc.forecastGeneUploadSubmitId);}/** *  **/public static void aw_uploadErrorForecastGene(String uploadFielPath){//点击"导入预测因子",进入预测因子上传界面AW_SeleniumMethod.aw_LeftSingleClickByXpath("//div[@id='evaluationTaskContentInfoId-body']/div/table/tbody/tr[2]/td[3]/div");AW_SeleniumMethod.aw_sleep(5);//点击文件浏览按钮,输入预测因子文件路径AW_SeleniumMethod.aw_SendKeysWithoutClearByID(NetNevaluationLoc.forecastGeneFileScanBtnId, uploadFielPath);//点击上传按钮AW_SeleniumMethod.aw_LeftSingleClickByID(NetNevaluationLoc.forecastGeneFileUploadBtnId);//等待数据上传完成,检查提交按钮是否可用AW_SeleniumMethod.aw_isEnablebyId(NetNevaluationLoc.forecastGeneUploadSubmitId);//处理文件上传成功提示框AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);//取消预测因子窗口AW_SeleniumMethod.aw_LeftSingleClickByID(NetNevaluationLoc.cancelForecastGeneWindowId);}/** * 预测因子模板下载 * @author zKF54587 * 因为使用smartgui下载文件之后selenium就不能再正常执行,所以在下载完成之后直接关闭浏览器页面 */public static void aw_forecastGeneModuleDownload(String downloadFilePath){//先清空路径下的文件AW_ReportResultsValidate.aw_delete_target_directory(downloadFilePath);//点击模板下载按钮,文件下载AW_FileHandle.file_downloadById(NetNevaluationLoc.forecastGeneModuleDownloadBtnId, downloadFilePath);}/** * 看网流程 * @author zKF54587 * */public static boolean aw_netNevFlowValidate(){boolean isOK=true;//首页isOK = AW_CommonOperate.aw_nevFlowValidate(NetNevaluationLoc.netNevFlowFirstSheetXpath, NetNevaluationLoc.netNevFlowAbstractId, Var_NetNevParam.nevFlowAnstract);//看网前准备isOK = AW_CommonOperate.aw_nevFlowValidate(NetNevaluationLoc.netNevPrepareXpath, NetNevaluationLoc.netNevPrepareContentId, Var_NetNevParam.nevPrapareContent);//数据采集isOK = AW_CommonOperate.aw_nevFlowValidate(NetNevaluationLoc.netNevDataCollectXpath, NetNevaluationLoc.netNevDateCollectContentId, Var_NetNevParam.nevFlowDataCollectContent);//专家看网isOK = AW_CommonOperate.aw_nevFlowValidate(NetNevaluationLoc.netNevFlowExpertNevXpath, NetNevaluationLoc.expertNevContentId, Var_NetNevParam.nevFlowExpertNevContent);//填写信息AW_SeleniumMethod.aw_LeftSingleClickByID(NetNevaluationLoc.netNevFlowFillInfoXpath);String nevInfoWrite = AW_SeleniumMethod.aw_getTextbyID(NetNevaluationLoc.nevInfoWriteId);if(!nevInfoWrite.equals(Var_NetNevParam.nevInfoWrite)){isOK=false;}//数据上传AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetNevaluationLoc.netNevFlowDataUploadXpath);String nevDataUploadRule = AW_SeleniumMethod.aw_getTextbyID(NetNevaluationLoc.nevDataUploadRuleId);if(!nevDataUploadRule.equals(Var_NetNevParam.nevDataUploadRule)){isOK=false;}//获取报告AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetNevaluationLoc.netNevFlowGetReportXpath);String nevGetReport = AW_SeleniumMethod.aw_getTextbyID(NetNevaluationLoc.nevReportDownLoadExplainId);String deliverDirection = AW_SeleniumMethod.aw_getTextbyID(NetNevaluationLoc.deliverDirectionXpath);if(!nevGetReport.equals(Var_NetNevParam.reportDownloadExplain) || !deliverDirection.equals(Var_NetNevParam.deliverDirection)){isOK=false;}//报告解读AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetNevaluationLoc.netNevFlowReportUnscrambleXpath);String reportUnscramble = AW_SeleniumMethod.aw_getTextbyID(NetNevaluationLoc.reportUnscrambleId);if(!reportUnscramble.equals(Var_NetNevParam.reportUnscramble)){isOK=false;}return isOK;}/** * 判断数据上传页面是否存在当前页面 * @author zKF54587 */public static boolean aw_windowPresentIsUsable(String windowName){boolean  bRet = AW_SeleniumMethod.aw_isWindowPresentBytitle(Var_NetworkOptimize.UploadDataTitle);int delay = 0;//判断数据上传窗口是否消失while(true){//判断数据上传窗口bRet = AW_SeleniumMethod.aw_isWindowPresentBytitle(Var_NetworkOptimize.UploadDataTitle);AW_SeleniumMethod.aw_sleep(10);delay++;if(!bRet || delay>30*60/10){break;}}return bRet;}/** * 上传数据,数据校验通过 * @author zKF54587  */public static void aw_uploadDataAndValidateOK(String filePath){// 点击浏览按钮AW_FileUpload.aw_clickDataBrowseBtn();// 判断窗文件上传窗口是否已经存在并激活AW_FileUpload.aw_judgeWindowExist();// 输入数据文件路径System.out.println(filePath);Keyboard.sendKeys(filePath);// 打开路径AW_CommonOperate.sleep(5000);AW_FileUpload.aw_clickFolderWindowBtn();AW_CommonOperate.sleep(3000);// 点击开始按钮AW_FileUpload.aw_clickDataStartUploadBtn();//数据校验通过,处理提示消息,但不上传数据AW_CommonOperate.sleep(15000);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);AW_CommonOperate.sleep(2000);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);AW_CommonOperate.sleep(2000);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);AW_CommonOperate.sleep(5000);//点击暂停按钮AW_FileUpload.aw_clickPauseBtn();//点击删除按钮AW_CommonOperate.sleep(2000);AW_FileUpload.aw_clickDeleteBtn();AW_CommonOperate.sleep(2000);}/** * 上传数据,数据校验通过,但不上传数据 * @author zKF54587  */public static void aw_uploadDataAndValidate(String filePath){WebDriver newwindow = AW_SeleniumMethod.aw_switchtoNewWindow(Var_NetworkOptimize.UploadDataTitle);newwindow.manage().window().maximize();// 点击浏览按钮AW_FileUpload.aw_clickDataBrowseBtn();// 判断窗文件上传窗口是否已经存在并激活AW_FileUpload.aw_judgeWindowExist();// 输入数据文件路径System.out.println(filePath);Keyboard.sendKeys(filePath);// 打开路径AW_CommonOperate.sleep(5000);AW_FileUpload.aw_clickFolderWindowBtn();AW_CommonOperate.sleep(3000);// 点击开始按钮AW_FileUpload.aw_clickDataStartUploadBtn();//数据校验通过,处理提示消息,但不上传数据AW_CommonOperate.sleep(15000);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);AW_CommonOperate.sleep(2000);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);AW_CommonOperate.sleep(2000);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);AW_CommonOperate.sleep(5000);}/** * 上传数据,数据校验不通过 * @author zKF54587  */public static void aw_uploadDataAndValidateFailure(String filePath){// 点击浏览按钮AW_FileUpload.aw_clickDataBrowseBtn();// 判断窗文件上传窗口是否已经存在并激活AW_FileUpload.aw_judgeWindowExist();// 输入数据文件路径System.out.println(filePath);Keyboard.sendKeys(filePath);// 打开路径AW_CommonOperate.sleep(5000);AW_FileUpload.aw_clickFolderWindowBtn();AW_CommonOperate.sleep(3000);// 点击开始按钮AW_FileUpload.aw_clickDataStartUploadBtn();//数据校验不通过,处理提示消息AW_CommonOperate.sleep(20000);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);AW_CommonOperate.sleep(2000);AW_SeleniumMethod.aw_keyPressNative(java.awt.event.KeyEvent.VK_ENTER);} /** * 给定任务进行数据上传后自动提交,成功后返回false *  * @author 赵锐平 */public static boolean uploaddataAutoSummit(String datapath){String windowHandle = driver.getWindowHandle();WebDriver dataUploadWindow = AW_SeleniumMethod.aw_switchtoNewWindow(Var_NetworkOptimize.UploadDataTitle);dataUploadWindow.manage().window().maximize();//设置任务自动提交AW_FileUpload.aw_AutoSummitBtn();//上传数据AW_FileUpload.aw_uploadTestDataToDataCenter(datapath);boolean  bRet = AW_SeleniumMethod.aw_isWindowPresentBytitle(Var_NetworkOptimize.UploadDataTitle);int delay = 0;//判断数据上传窗口是否消失while(true){//判断数据上传窗口bRet = AW_SeleniumMethod.aw_isWindowPresentBytitle(Var_NetworkOptimize.UploadDataTitle);AW_SeleniumMethod.aw_sleep(10);delay++;if(!bRet || delay>30*60/10){break;}}//切换到主窗口AW_SeleniumMethod.aw_swithtoWindow(windowHandle);return bRet;}/** * 给定任务进行数据上传后自动提交,成功后返回false *  * @author 赵锐平 */public static boolean uploaddataAutoSummit2(String datapath){String windowHandle = driver.getWindowHandle();WebDriver dataUploadWindow = AW_SeleniumMethod.aw_switchtoNewWindow(Var_NetworkOptimize.UploadDataTitle);dataUploadWindow.manage().window().maximize();System.out.println(dataUploadWindow.getTitle());//设置任务自动提交AW_FileUpload.aw_AutoSummitBtn();//上传数据AW_FileUpload.aw_uploadTestDataToDataCenter4(datapath);boolean  bRet = AW_SeleniumMethod.aw_isWindowPresentBytitle(Var_NetworkOptimize.UploadDataTitle);int delay = 0;//判断数据上传窗口是否消失while(true){//判断数据上传窗口bRet = AW_SeleniumMethod.aw_isWindowPresentBytitle(Var_NetworkOptimize.UploadDataTitle);AW_SeleniumMethod.aw_sleep(10);delay++;if(!bRet || delay>30*60/10){break;}}Set<String> handles = driver.getWindowHandles();// 获取所有窗口句柄while(handles.size()!= 1){handles = driver.getWindowHandles();// 获取所有窗口句柄}AW_SeleniumMethod.aw_sleep(90);//切换到主窗口AW_SeleniumMethod.aw_swithtoWindow(windowHandle);return bRet;}//只有一个工程包时,只勾选第一个检查项public static void aw_selectFirstCheckItemWhenOmePrjPackage(){//展开工程包下面的检查项AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetNevaluationLoc.openOutPrjPackage);//却掉所有检查项的勾选AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetNevaluationLoc.selectPrjPackageContent);//勾选第一个检查项AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetNevaluationLoc.firstCheckItemPrjPackage);}//报告下载并对比结果public static boolean aw_downloadAndCompareReport(PeculiarityLocator netNevaluationLoc, String reportPath, String basicReportPath, String compareResultPath, String taskId){//获取任务在任务列表中的位置int nPos = 2;nPos += AW_TaskManageOperate.aw_getIndexByTaskId(netNevaluationLoc,taskId);//点击任务号进入报告下载界面AW_SeleniumMethod.aw_LeftSingleClickByXpath(netNevaluationLoc.taskInfoLineXpath + "tr[" + nPos + "]/td[2]/div/span");AW_SeleniumMethod.aw_sleep(10);//选择下载报告aw_SelectReportList();//先清空路径下的文件AW_FileHandle.delSubFile(reportPath);//AW_ReportResultsValidate.aw_delete_target_directory(reportPath);//点击下载按钮AW_SeleniumMethod.aw_LeftSingleClickByID(netNevaluationLoc.reportDownloadBtnId);AW_SeleniumMethod.aw_sleep(5);//报告下载aw_downloadFile(reportPath);//报告对比//return AW_ReportResultsValidate.aw_reportCompaireforExcle(gsmReportPath, gsmBasicReportPath, ".*", gsmCompareResultPath);return true;}//点选需要下载的报告public static void aw_SelectReportList(){String reportInfo = AW_SeleniumMethod.aw_getTextbyXpath(NetNevaluationLoc.reportDownloadAllSelectXpath);String[] reportList = reportInfo.split("\n ");int index = 2;for(int i = 0; i < reportList.length; i++){AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetNevaluationLoc.selectReportTableDownloadXpath + "tr[" + index + "]/td/div/div");index ++ ;}}//下载报告public static void aw_downloadFile(String savePath){AW_SeleniumMethod.aw_GroupekeyUse(KeyEvent.VK_CONTROL, KeyEvent.VK_S);AW_SeleniumMethod.aw_sleep(10);Keyboard.sendKeys(savePath);AW_SeleniumMethod.aw_GroupekeyUse(KeyEvent.VK_ALT, KeyEvent.VK_S);AW_SeleniumMethod.aw_sleep(3);AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);AW_SeleniumMethod.aw_sleep(10);}//验证public static void aw_valideDataNeversionNOAccord(PeculiarityLocator netNevaluationLoc,Var_CommonParam commonParam, String fielPath){// 设置运营商数据AW_ModuleOperate.aw_setOperateDatas(netNevaluationLoc, commonParam);// 设置网络制式和网元版本AW_ModuleOperate.aw_setNetworkTypeAndNeversionType(netNevaluationLoc, commonParam);// 点击下一步,进入数据上传页面AW_OperationHandle.aw_clickNextStepBtn_CreateTask(netNevaluationLoc);AW_SeleniumMethod.aw_sleep(40);//自动化对象切换到数据上传页面String windowHandle = driver.getWindowHandle();AW_SeleniumMethod.aw_switchtoNewWindow(Var_NetworkOptimize.UploadDataTitle);AW_CommonOperate.sleep(5000);AW_NetEvaOperator.aw_uploadDataAndValidateFailure(fielPath);//关闭数据上传AW_SeleniumMethod.aw_closeBrowser();//自动化对象切换到主页面AW_SeleniumMethod.aw_swithtoWindow(windowHandle);}//上传数据public static String aw_createNetNevTask(PeculiarityLocator netNevaluationLoc,Var_CommonParam commonParam, String filePath){// 获取任务号String  taskId = AW_SeleniumMethod.aw_getTextbyID(netNevaluationLoc.TaskIdCreateTaskId);// 设置运营商数据AW_ModuleOperate.aw_setOperateDatas(netNevaluationLoc, commonParam);// 设置网络制式和网元版本AW_ModuleOperate.aw_setNetworkTypeAndNeversionType(netNevaluationLoc, commonParam);// 点击下一步,进入数据上传页面AW_OperationHandle.aw_clickNextStepBtn_CreateTask(netNevaluationLoc);AW_SeleniumMethod.aw_sleep(40);//上传小于4G的正常数据AW_NetEvaOperator.uploaddataAutoSummit(filePath);AW_TaskManageOperate.aw_monitorTaskStatus(netNevaluationLoc, taskId).contains("成功");return taskId;}//重用历史数据页面模糊查询public static void aw_blurQueryOnReuseHistoryData(String selectInfo){// 输入查询条件AW_SeleniumMethod.aw_setTextByName(NetNevaluationLoc.reuseHistoryDataQueryTextName, selectInfo);// 点击查询条件AW_SeleniumMethod.aw_LeftSingleClickByID(NetNevaluationLoc.blurQueryBtnOnReuseHistoryDataId);// 获取查询结果String historyDataInfo = AW_SeleniumMethod.aw_getTextbyID(NetNevaluationLoc.historyDataTableId);Assert.assertTrue(historyDataInfo.contains(selectInfo));}//填写看网运营商信息,设置网络制式和网元版本,并进入下一步public static void aw_createTaskBaseInfo(PeculiarityLocator netNevaluationLoc,Var_CommonParam commonParam){// 设置运营商数据AW_ModuleOperate.aw_setOperateDatas(netNevaluationLoc, commonParam);// 设置网络制式和网元版本AW_ModuleOperate.aw_setNetworkTypeAndNeversionType(netNevaluationLoc, commonParam);// 点击下一步,进入数据上传页面AW_OperationHandle.aw_clickNextStepBtn_CreateTask(netNevaluationLoc);AW_SeleniumMethod.aw_sleep(60);}/** * 获取任务列表显示的所有任务 * @author zKF54587 */public static void aw_EnterSpecificTab(PeculiarityLocator netNevaluationLoc,String tabText) {// 进入任务管理页面 AW_NetEvaOperator.aw_enterNetNevTaskManage();// 检查任务是否新建成功// 刷新任务列表AW_SeleniumMethod.aw_LeftSingleClickByXpath(netNevaluationLoc.refreshTaskListXpath);}}]]></File>  <File type=".java" path="D:\OneMbps\st\com\huawei\genex\st\genexspace\aw\networkoptimize\AW_NetWorkOptimize.java" name="AW_NetWorkOptimize.java"><![CDATA[package com.huawei.genex.st.genexspace.aw.networkoptimize;import java.awt.event.KeyEvent;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import com.huawei.genex.st.genexspace.aw.currency.AW_CommonOperate;import com.huawei.genex.st.genexspace.aw.currency.AW_FileUpload;import com.huawei.genex.st.genexspace.aw.currency.AW_SeleniumMethod;import com.huawei.genex.st.genexspace.aw.currency.BaseTestCase;import com.huawei.genex.st.genexspace.locatorxpath.networkoptimize.NetworkOptimizeLoc;import com.huawei.genex.st.genexspace.locatorxpath.task.TaskLoc;import com.huawei.genex.st.genexspace.variable.networkoptimize.Var_NetworkOptimize;/********************************************* * GSM网络精准化操作 *  * @author j00129746 *  *********************************************/public class AW_NetWorkOptimize extends BaseTestCase {/** * 进入网络优化功能 *  * @author j00129746 */public static void EnterNetoptimizeInterface() {AW_CommonOperate.aw_enterPeculiarityPage("网络精准优化(Trial)");AW_SeleniumMethod.aw_sleep(3);}/** * 任务界面退出网络优化功能 *  * @author j00129746 *//** * 选中指定任务 *  * @author 焦媛 */public static void ClickTaskByTaskId(String taskId) {int nIndextr = 2;String[] taskInfoList = AW_SeleniumMethod.aw_getTextbyID(TaskLoc.TaskListBodyId).trim().split("\n");int taskIndex = 1;for (int i = 0; i < taskInfoList.length; i += 6) {taskIndex++;if (taskInfoList[i].contains(taskId)) {break;}}String taskxpath = TaskLoc.TasklineXapthNew + taskIndex + "]/"+ "td[2]/div";System.out.println(taskxpath);AW_SeleniumMethod.aw_LeftSingleClickByXpath(taskxpath);}/** * 任务界面退出网络优化功能 *  * @author j00129746 */public static void QuitNetoptimizeInterface() {AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetworkOptimizeLoc.closeXpath);AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);}/** * 进入删除任务 *  * @author j00129746 */public static void delCrruentTask() {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DeltaskbtnId);AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);}/** * 进入删除任务 *  * @author j00129746 */public static void delTaskbyName(String taskname) {int nTRindex = GetItemIndexByTextInList(NetworkOptimizeLoc.TaskListBodyId, taskname, 1);if (nTRindex == -1) {return;}nTRindex += 1;// 选中待删除任务AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetworkOptimizeLoc.TaskListXpathNew+ "/tr[" + nTRindex + "]/td/div");AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DeltaskbtnId);AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);AW_SeleniumMethod.aw_sleep(3);AW_SeleniumMethod.aw_keyPressNative(KeyEvent.VK_ENTER);}/** * 进入删除任务 *  * @author j00129746 */public static void selectTaskbyName(String taskname) {int nTRindex = GetItemIndexByTextInList(NetworkOptimizeLoc.TaskNameListBodyId, taskname, 1);if (nTRindex == -1) {return;}nTRindex += 1;// 选中待删除任务AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetworkOptimizeLoc.TaskListXpathNew+ "/tr[" + nTRindex + "]/td/div");}/** * 新建任务 *  * @author j00129746 */public static void SettaskbaseInfoFirst(String taskname,String regionxpath, String officexpath, String Operatorxpath,String nettypexpath, String Dataversionxpath, boolean isCh) {delTaskbyName(taskname);// 输入任务名称AW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.tasknameId,taskname);// 选择片区AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.RegionId);AW_SeleniumMethod.aw_LeftSingleClickByXpath(regionxpath);// 选择代表处AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DelagateInputId);AW_SeleniumMethod.aw_LeftSingleClickByXpath(officexpath);// 选择运营商AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.operatorId);AW_SeleniumMethod.aw_LeftSingleClickByXpath(Operatorxpath);if (!nettypexpath.isEmpty()) {// 选择制式AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.NettypeId);AW_SeleniumMethod.aw_LeftSingleClickByXpath(nettypexpath);}if (!Dataversionxpath.isEmpty()) {// 选择数据版本AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DataversionId);AW_SeleniumMethod.aw_sleep(3);boolean bret = false;while (!bret) {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DataversionId);bret = AW_SeleniumMethod.aw_LeftSingleClickByXpath2(Dataversionxpath);}}AW_SeleniumMethod.aw_sleep(2);// 设置报告语言if (isCh) {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.ReportLanChId);} else {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.ReportLanEnId);}}/** * 根据text查找所在行的index,从而进行那动态xpath的匹配 modNum 为列数 *  * @author j00129746 */public static int GetItemIndexByTextInList(String ListContentLoc,String text, int modNum) {String[] ListContent = {};ListContent = AW_SeleniumMethod.aw_getTextbyID(ListContentLoc).trim().split("\n");// else if(-1 != ListContentLoc.indexOf("XPATH"))// {// ListContent =// AW_SeleniumMethod.aw_getTextbyXpath(ListContentLoc).trim().split("\n");// }int index = -1;int j = 1;for (int i = 0; i < ListContent.length; i += modNum) {j++;if (ListContent[i].equals(text)) {index += j;break;}}return index;}public static void setComboxValue(String listClickId,String listcontentlOC, String ClickXpath, String setValue,int colNum) {AW_SeleniumMethod.aw_LeftSingleClickByID(listClickId);int Trindex = GetItemIndexByTextInList(listcontentlOC, setValue, colNum);AW_SeleniumMethod.aw_LeftSingleClickByXpath(ClickXpath + "/li["+ Trindex + "]");}/** * 新建任务 *  * @author j00129746 */public static String SettaskbaseInfoNew(String taskname,String regionvalue, String delagatevalue, String Operatorvalue,String nettypevalue, String Dataversionvalue, boolean isCh) {delTaskByTaskNameInMySQL(0, taskname);Var_NetworkOptimize.m_netType = nettypevalue;// delTaskbyName(taskname);// 点击新建按钮if (!AW_SeleniumMethod.aw_LeftSingleClickByIDBoolean(NetworkOptimizeLoc.NewtaskbtnId)) {// 输入任务名称AW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.tasknameId,taskname);} else {// 输入任务名称AW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.tasknameId,taskname);}String taskNumer = AW_SeleniumMethod.aw_getTextbyID(NetworkOptimizeLoc.TaskNumber);// 选择片区setComboxValue(NetworkOptimizeLoc.RegionId,NetworkOptimizeLoc.RegionlistId,NetworkOptimizeLoc.RegionlistXpathNew, regionvalue, 1);// 选择代表处setComboxValue(NetworkOptimizeLoc.DelagateInputId,NetworkOptimizeLoc.DelagetoptionListId,NetworkOptimizeLoc.DelagetoptionXpathNew, delagatevalue, 1);// 选择运营商setComboxValue(NetworkOptimizeLoc.operatorId,NetworkOptimizeLoc.operatorOptionlistId,NetworkOptimizeLoc.operatorOptionXpathNew, Operatorvalue, 1);if (!Var_NetworkOptimize.m_netType.isEmpty()) {// 选择制式setComboxValue(NetworkOptimizeLoc.NettypeId,NetworkOptimizeLoc.NettypeoptionlistId,NetworkOptimizeLoc.NettypeoptionXpathNew, nettypevalue, 1);System.out.println("HJHKJH"+ AW_SeleniumMethod.aw_getTextbyID(NetworkOptimizeLoc.NettypeId));}if (!Dataversionvalue.isEmpty()) {// 选择数据版本AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DataversionId);AW_SeleniumMethod.aw_sleep(3);int Trindex = GetItemIndexByTextInList(NetworkOptimizeLoc.DataversionIptionListId,Dataversionvalue, 1);boolean bret = AW_SeleniumMethod.aw_LeftSingleClickByXpath2(NetworkOptimizeLoc.DataversionIptionXpathNew+ "/li[" + Trindex + "]");// boolean bret = false;while (!bret) {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DataversionId);bret = AW_SeleniumMethod.aw_LeftSingleClickByXpath2(NetworkOptimizeLoc.DataversionIptionXpathNew+ "/li[" + Trindex + "]");System.out.println(NetworkOptimizeLoc.DataversionIptionXpathNew+ "/li[" + Trindex + "]");}}AW_SeleniumMethod.aw_sleep(2);// 设置报告语言if (isCh) {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.ReportLanChId);} else {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.ReportLanEnId);}return taskNumer;}/** * 新建任务 *  * @author j00129746 */public static void SettaskbaseInfo(String taskname, String regionxpath,String officexpath, String Operatorxpath, String nettypexpath,String Dataversionxpath, boolean isCh) {// 点击新建按钮AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.NewtaskbtnId);// 输入任务名称AW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.tasknameId,taskname);// 选择片区AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.RegionId);AW_SeleniumMethod.aw_LeftSingleClickByXpath(NetworkOptimizeLoc.RegionlistXpath);// 选择代表处AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DelagateInputId);AW_SeleniumMethod.aw_LeftSingleClickByXpath(officexpath);// 选择运营商AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.operatorId);AW_SeleniumMethod.aw_LeftSingleClickByXpath(Operatorxpath);if (!nettypexpath.isEmpty()) {// 选择制式AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.NettypeId);AW_SeleniumMethod.aw_LeftSingleClickByXpath(nettypexpath);}if (!Dataversionxpath.isEmpty()) {// 选择数据版本AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DataversionId);AW_SeleniumMethod.aw_sleep(3);boolean bret = false;while (!bret) {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.DataversionId);bret = AW_SeleniumMethod.aw_LeftSingleClickByXpath2(Dataversionxpath);}}AW_SeleniumMethod.aw_sleep(2);// 设置报告语言if (isCh) {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.ReportLanChId);} else {AW_SeleniumMethod.aw_LeftSingleClickByID(NetworkOptimizeLoc.ReportLanEnId);}}/** * 优化配置信息设置 *  * @author j00129746 */public static void Settaskdetailinfo(String PrjInof,String OptiObjectxpath, String Fre900Bcch, String Fre900Tch,String Fre1800Bcch, String Fre1800Tch, String Freindoor,boolean ismutex) {// 备注项目信息if (!PrjInof.equals("")) {AW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.DesiptionId,PrjInof);}if (Var_NetworkOptimize.m_netType.equals("GSM")) {// 设置优化对象AW_SeleniumMethod.aw_LeftSingleClickByXpath(OptiObjectxpath);// GSM(P,E,R)900/GSM850 BCCH RANGAW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.FreOpt900BcchId, Fre900Bcch);// GSM(P,E,R)900/GSM850 TCH RANGEAW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.FreOpt900TchId, Fre900Tch);// GSM1800/GSM1900 BCCH RANGEAW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.FreOpt1800BcchId, Fre1800Bcch);// GSM1800/GSM1900 TCH RANGEAW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.FreOpt1800TchId, Fre1800Tch);// INDOORAW_SeleniumMethod.aw_SendKeysByID(NetworkOptimizeLoc.IndoorInputId,

0 0