From a0faa126418860227deb40078e38bd8ea92740cb Mon Sep 17 00:00:00 2001 From: tqzhang <2452618307@qq.com> Date: Tue, 7 May 2024 16:49:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20src/main/java/com/bonus/au?= =?UTF-8?q?toweb/base/DutyLogIOp.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/autoweb/base/DutyLogIOp.java | 404 ------------------ 1 file changed, 404 deletions(-) delete mode 100644 src/main/java/com/bonus/autoweb/base/DutyLogIOp.java diff --git a/src/main/java/com/bonus/autoweb/base/DutyLogIOp.java b/src/main/java/com/bonus/autoweb/base/DutyLogIOp.java deleted file mode 100644 index f5ef5a5..0000000 --- a/src/main/java/com/bonus/autoweb/base/DutyLogIOp.java +++ /dev/null @@ -1,404 +0,0 @@ -package com.bonus.autoweb.base; - -import com.bonus.autoweb.DateTimeUtils; -import com.bonus.autoweb.UI.entity.LogBean; -import com.bonus.autoweb.UI.frame.StringHelper; -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver; -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; -import java.nio.charset.Charset; -import java.text.ParseException; - -/** - * 操作值班日志类 - */ -public class DutyLogIOp { - private Logger log = LoggerFactory.getLogger(DutyLogIOp.class); - private WebDriver webDriver; - - public DutyLogIOp(WebDriver webDriver) { - this.webDriver = webDriver; - } - - /** - * 打开日志新增页面 - * - * @param type 1 早 2晚 - */ - public void openDutyLog(int type) throws Exception { - if (type == 1) { - //早上填写前一天的日志,将标签改为前一天 - changeDay(); - } - Thread.sleep(5000); - //定位值班日志并点击 - webDriver.findElement(By.id("tab-5")).click(); - log.info("定位值班日志并点击----------"); - Thread.sleep(5000); - - // /html/body/div[2] 弹窗 您没有填写值班日志的排班班次 - - //定位写日志标签,打开日志页面 - webDriver.findElement(By.xpath("//*[@id=\"pane-5\"]/div/div[2]/div[2]/button")).click(); - log.info("定位写日志标签,打开日志页面----------"); - Thread.sleep(1500); - - - //退出当前iframe,进入到日报编辑iframe - webDriver.switchTo().defaultContent(); - log.info("退出当前iframe----------"); - Thread.sleep(3000); - - //定位日志编辑iframe的标签 - WebElement dutyEditIframe = webDriver.findElement(By.id("add-local-zbrzbz")); - webDriver.switchTo().frame(dutyEditIframe); - log.info("定位日志编辑iframe的标签----------"); - Thread.sleep(3000); - dutyLogContent(); - - if (type == 1) { - Thread.sleep(2000); - //昨天的日志填写完毕之后将日期改为今天 - webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[1]/div[2]/div/button[2]")).click(); - log.info("将日期选择回当日----------"); - Thread.sleep(500); - } - } - - public void changeDay() throws Exception { - - Thread.sleep(1000); - //判断当前日期是不是每月第一天的日期,true - boolean tf = false; - int tr = 1; - int td = 1; - String xpath; - if (!DateTimeUtils.isOneDay()) { - //不是本月第一天 - String currentDay = DateTimeUtils.getCurrentDay(); - log.info("currentDay:" + currentDay); - int weekNum = DateTimeUtils.getWeekNum(currentDay); - log.info("weekNum:" + weekNum); - int dayNum = DateTimeUtils.getWeekOfDate(currentDay); - log.info("dayNum:" + dayNum); - /*if (dayNum == 1) { - tr = weekNum - 1; - td = 7; - } else { - tr = weekNum; - td = dayNum - 1; - }*/ - if (dayNum == 1) { - if (DateTimeUtils.getMonthOneDayIs0()) {//第一天是0 - tr = weekNum; - } else { - tr = weekNum - 1; - if (weekNum == 1) { - tr = 5; - } - } - td = 7; - } else { - if (DateTimeUtils.getMonthOneDayIs0()) {//第一天是0 - tr = weekNum + 1; - } else { - tr = weekNum; - } - td = dayNum - 1; - } - log.info("标签位置:tr:" + tr + ",td:" + td); - xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]/div"; - } else { - //点击上月按钮,切换至上月 - webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[1]/div[2]/div/button[1]")).click(); - log.info("点击上月按钮,切换至上月----------"); - Thread.sleep(500); - - //获取上月最后一天日期 - String mothDay = DateTimeUtils.getBeforeLastMonthdate(); - //判断上个月最后一天的位置 - tr = DateTimeUtils.getWeekNum(mothDay); - td = DateTimeUtils.getWeekOfDate(mothDay); - xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]/div"; -// String dayNum = mothDay.substring(8, 10); -// WebElement spanElement = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]/div/div/div[1]/span")); -// if (dayNum.equals(spanElement.getText())) { -// xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + (tr + 1) + "]" + "/td[" + td + "]/div"; -// } - - } - //选择前一天的日期 - - log.info("前一天的标签:" + xpath); - - webDriver.findElement(By.xpath(xpath)).click(); - log.info("选择前一天的日期----------"); - Thread.sleep(500); - } - - /** - * 内容填写 - */ - private void dutyLogContent() throws InterruptedException { - //值班时间 -// /html/body/div[3]/div/div[2]/div/form/div[1]/div/div/div[1]/div/div/div/div - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[1]/div/div/div[1]/div/div/div/div[1]")).click(); - log.info("值班时间----------"); - Thread.sleep(500); - webDriver.findElement(By.xpath("/html/body/div[4]/div[1]/div[1]/ul/li")).click(); - log.info("值班时间----------"); - Thread.sleep(500); - - // 反序列化--> 解决乱码问题 - File file = new File(DataConfig.filePath + "\\log.xml"); - InputStreamReader in = null; - String xml = null; - try { - //主要就是这里的设置 - in = new InputStreamReader(new FileInputStream(file), Charset.forName("gbk")); - StringBuffer sb = new StringBuffer(); - char[] array = new char[1024]; - int length = -1; - while ((length = in.read(array)) != -1) { - sb.append(array, 0, length); - } - in.close(); - xml = sb.toString().trim(); - System.out.println(xml); - } catch (Exception e) { - // TODO: handle exception - } - - XStream xstream = new XStream(new JettisonMappedXmlDriver()); - xstream.alias("log", LogBean.class); - LogBean bean = (LogBean) xstream.fromXML(xml); - - -// //输入天气 -// String tq = bean.getWeather(); -//// /html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[3]/div/div/div[1]/input -// WebElement weatherElement = webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[5]/div/div/div/input")); -// if (StringHelper.isEmptyAndNull(weatherElement.getText())){ -// weatherElement.clear(); -// weatherElement.sendKeys(tq); -// log.info("输入天气----------"); -// } -// Thread.sleep(500); -// -// //输入最低气温 -// String zdqw = bean.getMin_temperature(); -//// /html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[4]/div/div/div[1]/input -// WebElement minTemperatureElement = webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[7]/div/div/div/input")); -// if (StringHelper.isEmptyAndNull(minTemperatureElement.getText())){ -// minTemperatureElement.clear(); -// minTemperatureElement.sendKeys(zdqw); -// log.info("输入最低气温----------"); -// } -// Thread.sleep(500); -// -// //输入最高气温 -// String zgqw = bean.getMax_temperature(); -//// /html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[4]/div/div/div[1]/input -// WebElement maxTemperatureElement = webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[9]/div/div/div/input")); -// if (StringHelper.isEmptyAndNull(maxTemperatureElement.getText())){ -// maxTemperatureElement.clear(); -// maxTemperatureElement.sendKeys(zgqw); -// log.info("输入最高气温----------"); -// } -// Thread.sleep(500); - - //事件监测 标题 - String sjjc_title = bean.getEvent_detection_title(); - // /html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[1]/tr[1]/td/div[3]/div/div[1]/textarea - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[1]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(sjjc_title); - log.info("事件监测 标题----------"); - Thread.sleep(1000); - //事件监测 内容 - String sjjc_content = bean.getEvent_detection_content(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[1]/tr[2]/td/div/div/div/textarea")).sendKeys(sjjc_content); - log.info("事件监测 内容----------"); - Thread.sleep(2000); - - //保电工作 标题 - String bdgz_title = bean.getPower_work_title(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[2]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(bdgz_title); - log.info("保电工作 标题----------"); - Thread.sleep(2000); - - //保电工作 内容 - String bdgz_content = bean.getPower_work_content(); - System.out.println("bdgz_content:" + bdgz_content); - WebElement bdgzContentElement = webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[2]/tr[2]/td/div/div/div[1]/textarea")); - - bdgzContentElement.clear(); - bdgzContentElement.sendKeys(bdgz_content.trim()); -// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[2]/tr[2]/td/div/div/div[1]/textarea")).sendKeys(bdgz_content); - log.info("保电工作 内容----------"); - Thread.sleep(2000); - - //资源核查 标题 - String zyhc_title = bean.getResource_check_title(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[3]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(zyhc_title); - log.info("资源核查 标题----------"); - Thread.sleep(500); - //资源核查 内容 - String zyhc_content = bean.getResource_check_content(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[3]/tr[2]/td/div/div/div/textarea")).sendKeys(zyhc_content); - log.info("资源核查 内容----------"); - Thread.sleep(500); - - //通信测试 标题 - String txcs_title = bean.getCommunications_test_title(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[4]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(txcs_title); - log.info("通信测试 标题----------"); - Thread.sleep(500); - //通信测试 内容 - String txcs_content = bean.getCommunications_test_content(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[4]/tr[2]/td/div/div/div/textarea")).sendKeys(txcs_content); - log.info("通信测试 内容----------"); - Thread.sleep(500); - - - //日常操练情况 标题 - String rcclqk_title = bean.getDaily_operation_title(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[5]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(rcclqk_title); - log.info("日常操练情况 标题----------"); - Thread.sleep(500); - //日常操练情况 内容 - String rcclqk_content = bean.getDaily_operation_content(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[5]/tr[2]/td/div/div/div/textarea")).sendKeys(rcclqk_content); - log.info("日常操练情况 内容----------"); - Thread.sleep(500); - - //日报填写情况 标题 - String rbtxqk_title = bean.getDaily_submission_title(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[6]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(rbtxqk_title); - log.info("日报填写情况 标题----------"); - Thread.sleep(500); - //日常操练情况 内容 - String rbtxqk_content = bean.getDaily_submission_content(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[6]/tr[2]/td/div/div/div/textarea")).sendKeys(rbtxqk_content); - log.info("日常操练情况 内容----------"); - Thread.sleep(500); - - //预警处置 标题 - String yjcz_title = bean.getWarning_disposal_title(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[7]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(yjcz_title); - log.info("预警处置 标题----------"); - Thread.sleep(500); - //预警处置 内容 - String yjcz_content = bean.getWarning_disposal_content(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[7]/tr[2]/td/div/div/div/textarea")).sendKeys(yjcz_content); - log.info("预警处置 内容----------"); - Thread.sleep(500); - - //一般记事 标题 - String ybjs_title = bean.getGeneral_chronicles_title(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[8]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(ybjs_title); - log.info("一般记事 标题----------"); - Thread.sleep(500); - //一般记事 内容 - String ybjs_content = bean.getGeneral_chronicles_content(); - webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[8]/tr[2]/td/div/div/div/textarea")).sendKeys(ybjs_content); - log.info("一般记事 内容----------"); - Thread.sleep(500); - - - //提交日志 - - WebElement submitDay = webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[3]")); - log.info("提交日志按钮:" + submitDay.getText()); - submitDay.click(); - log.info("提交日志----------"); - Thread.sleep(2000); - - - //点击弹出框确认 /html/body/div[4]/div/div[3]/button[2] - WebElement qrBtn = webDriver.findElement(By.xpath("/html/body/div[4]/div/div[3]/button[2]")); - Thread.sleep(2000); - log.info("确认日志按钮:" + qrBtn.getText()); - qrBtn.click(); - - Thread.sleep(1000 * 3); - //取消 -// webDriver.findElement(By.xpath("/html/body/div[4]/div/div[3]/button[1]")).click(); - - log.info("点击弹出框确认----------"); - Thread.sleep(500); - - //测试 点击取消按钮 - /*webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[1]")).click(); - log.info("点击取消----------"); - Thread.sleep(500);*/ - - - //退出当前iframe, - webDriver.switchTo().defaultContent(); - log.info("退出当前iframe----------"); - Thread.sleep(500); - - - //定位值班管理iframe的标签 - WebElement dutyIframe = webDriver.findElement(By.id("zbgln")); - webDriver.switchTo().frame(dutyIframe); - log.info("定位值班管理iframe的标签----------"); - Thread.sleep(500); - - } - - public static void main(String[] args) throws ParseException { - int tr = 1; - int td = 1; - String currentDay = "2024-01-01"; - System.out.println(currentDay); - int weekNum = DateTimeUtils.getWeekNum(currentDay); - System.out.println(weekNum); - int dayNum = DateTimeUtils.getWeekOfDate(currentDay); - System.out.println(dayNum); - /*if (dayNum == 1) { - tr = weekNum - 1; - td = 7; - } else { - tr = weekNum; - td = dayNum - 1; - }*/ - if (dayNum == 1) { - if (DateTimeUtils.getMonthOneDayIs0()) {//第一天是0 - tr = weekNum; - } else { - tr = weekNum - 1; - if (weekNum == 1) { - tr = 5; - } - } - td = 7; - } else { - if (DateTimeUtils.getMonthOneDayIs0()) {//第一天是0 - tr = weekNum + 1; - } else { - tr = weekNum; - } - td = dayNum - 1; - } - System.out.println(tr); - System.out.println(td); - System.out.println("-------------------------"); - //获取上月最后一天日期 - String mothDay = "2023-12-31"; - System.out.println(mothDay); - //判断上个月最后一天的位置 - tr = DateTimeUtils.getWeekNum(mothDay); - td = DateTimeUtils.getWeekOfDate(mothDay); - System.out.println(tr); - System.out.println(td); - System.out.println(mothDay.substring(8,10)); - } -}