def test_1_tianqi(self): '''气象信息展示 > 温度曲线 >天气预报''' self.driver = choose('firefox') driver = self.driver driver.maximize_window() start( driver, 'http://192.168.60.36:8080/SPPS/weatherInfo/temCurveAction.action') click_list = ['气象信息展示', '温度曲线'] #点击菜单 menu(driver, click_list) set_date(driver) driver.find_element_by_id('search').click() #搜索 time.sleep(2) hang = '/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/table/tbody/tr' global list_heng list_heng = get_heng(driver, hang) #获取表格数据 list_wen_yuan = get_col(list_heng, 3).copy() #将表格数据生成列表 list_wen = del_list_tup(list_wen_yuan, ' ') if list_wen == []: print("列表查询数据为空,无法比较") else: list_wen.pop() list_sql = get_oracle_h('192.168.60.36', "SELECT a.PRE_DATE,a.PRE_TIME,a.ARI_TEM \ FROM GF_SPPS_NWP_DEAL a WHERE PRE_DATE='2017-09-06' ORDER BY PRE_TIME asc", 2) #查询数据库 print('表格数据为:', list_wen) print('sql查询值为', list_sql) print('\n') self.assertEqual(list_wen, list_sql)
def test_1_tq(self): '''实时状态监控 > 实时气象曲线 > 天气预报温度''' driver=self.driver driver.maximize_window() start(driver,'http://192.168.60.21:8080/SPPS/weatherInfo/temCurveAction.action') click_list = ['实时状态监控', '实时气象曲线'] #点击菜单 menu(driver,click_list) if now_time()[0]!=1: print("waiting 130") time.sleep(130) driver.find_element_by_id('search').click() #搜索 time.sleep(2) hang='/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/table/tbody/tr' global list_heng today=now_date() list_heng=get_heng(driver,hang) #获取表格数据 list_tq_yuan = get_col_two(list_heng, 2).copy() # 将表格数据生成列表 list_tq = del_list_tup(list_tq_yuan, ' ') if list_tq == []: print("列表查询数据为空,无法比较") else: sql_kk = "SELECT a.PRE_TIME,a.ARI_TEM FROM GF_SPPS_NWP_DEAL a WHERE a.PRE_DATE='now_date()' ORDER BY a.PRE_TIME" sql = sql_kk.replace("now_date()", now_date()) list_sql = get_oracle_h(sql, 1) # 查询数据库 print('天气预报温度表格数据为:', list_tq) print('天气预报温度sql数据为', list_sql) print('\n') self.assertEqual(list_tq, list_sql)
def test_1_sjgl(self): '''功率曲线展示 > 短期上报曲线 > 实际功率''' driver = self.driver driver.maximize_window() start( driver, 'http://192.168.60.21:8080/SPPS/weatherInfo/temCurveAction.action') if now_time()[0] != 1: print("waiting 70") time.sleep(70) click_list = ['功率曲线展示', '上报曲线'] #点击菜单 menu(driver, click_list) driver.find_element_by_id('search').click() #搜索 time.sleep(2) hang = '/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/table/tbody/tr' global list_heng list_heng = get_heng(driver, hang) #获取表格数据 list_sjgl_yuan = get_col(list_heng, 3).copy() # 将表格数据生成列表 list_sjgl = del_list_tup(list_sjgl_yuan, ' ') if list_sjgl == []: print("列表查询数据为空,无法比较") else: sql_kk = "SELECT a.GATHER_DATE,a.GATHER_TIME,a.POWER_VALUE FROM GF_SPPS_POWER_HIS a \ WHERE a.GATHER_DATE='now_date()' ORDER BY a.GATHER_TIME asc" sql = sql_kk.replace("now_date()", now_date()) list_sql = get_oracle_h(sql, 2) # 查询数据库 print('实际功率表格数据为:', list_sjgl) print('实际功率sql数据为', list_sql) print('\n') self.assertEqual(list_sjgl, list_sql)
def test_4_llfd_y(self): '''实时状态监控 > 发电量曲线 > 理论发电量''' driver = self.driver driver.maximize_window() start(driver, 'http://192.168.60.21:8080/SPPS/weatherInfo/temCurveAction.action') click_list = ['实时状态监控', '发电量曲线'] # 点击菜单 menu(driver, click_list) if now_time()[0] != 1: print("waiting 70") time.sleep(70) set_date_one(driver,yes_date()) driver.find_element_by_id('search').click() # 搜索 time.sleep(2) hang = '/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/table/tbody/tr' global list_heng list_heng = get_heng(driver, hang) # 获取表格数据 list_llfd_yuan = get_col_two(list_heng, 2).copy() # 将表格数据生成列表 list_llfd = del_list_tup(list_llfd_yuan, ' ') if list_llfd == []: print("列表查询数据为空,无法比较") else: sql_kk = "SELECT a.FOCA_TIME,a.THEORY_GENER_NUM \ FROM GF_SPPS_PROD_THEORY a WHERE a.FOCA_DATE='now_date()' and mod(to_char(to_date(a.foca_time,'HH24:mi:ss'),'mi'),15)=0 ORDER BY a.FOCA_TIME asc" sql = sql_kk.replace("now_date()", yes_date()) list_sql = get_oracle_h(sql, 2) # 查询数据库 print('理论发电量表格数据为:', list_llfd) print('理论发电量sql数据为', list_sql) print('\n') self.assertEqual(list_llfd, list_sql)
def test_4_cdq(self): '''实时状态监控 > 预测理论功率曲线 > 超短期 > 两天''' driver = self.driver driver.maximize_window() start( driver, 'http://192.168.60.21:8080/SPPS/weatherInfo/temCurveAction.action') click_list = ['实时状态监控', '预测理论功率曲线'] #点击菜单 menu(driver, click_list) if now_time()[0] != 1: print("waiting 70") time.sleep(70) set_date(driver, yes_date(), now_date()) driver.find_element_by_id('search').click() #搜索 time.sleep(2) hang = '/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/table/tbody/tr' global list_heng list_heng = get_heng(driver, hang) #获取表格数据 list_cdq_yuan = get_col_two(list_heng, 2).copy() # 将表格数据生成列表 list_cdq = del_list_tup(list_cdq_yuan, ' ') if list_cdq == []: print("列表查询数据为空,无法比较") else: sql_kk = "SELECT a.PRE_TIME,a.PRE_POWER FROM SPPS_PREDICT_CDQ_DEAL a WHERE PRE_DATE" \ " in('yes_date()','now_date()') ORDER BY a.PRE_DATE,a.PRE_TIME" sql = sql_kk.replace("now_date()", now_date()) sql = sql.replace("yes_date()", yes_date()) list_sql = get_oracle_h(sql, 2) # 查询数据库 print('超短期表格数据为:', list_cdq) print('超短期sql数据为', list_sql) print('\n') self.assertEqual(list_cdq, list_sql)
def test_3_ycgl_two(self): '''功率曲线展示 > 预测曲线 > 短期预测曲线 > 预测功率 >两天''' driver = self.driver driver.maximize_window() start( driver, 'http://192.168.60.21:8080/SPPS/weatherInfo/temCurveAction.action') click_list = ['功率曲线展示', '预测曲线', '短期预测曲线'] # 点击菜单 menu(driver, click_list) if now_time()[0] != 1: print("waiting 70") time.sleep(70) set_date(driver, tom_date(), hou_date()) driver.find_element_by_id('search').click() # 搜索 time.sleep(2) hang = '/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/table/tbody/tr' global list_heng list_heng = get_heng(driver, hang) # 获取表格数据 list_ycgl_yuan = get_col(list_heng, 3).copy() # 将表格数据生成列表 list_ycgl = del_list_tup(list_ycgl_yuan, ' ') if list_ycgl == []: print("列表查询数据为空,无法比较") else: sql_kk = "SELECT a.PRE_DATE,a.PRE_TIME,a.PRE_POWER \ FROM GF_SPPS_PREDICT_NWP_DEAL a WHERE a.PRE_DATE in ('tom_date()','hou_date()') ORDER BY a.PRE_DATE,a.PRE_TIME asc " sql = sql_kk.replace("tom_date()", tom_date()) sql = sql.replace("hou_date()", hou_date()) print(sql) list_sql = get_oracle_h(sql, 2) # 查询数据库 print('预测功率表格数据为:', list_ycgl) print('预测功率sql数据为', list_sql) print('\n') self.assertEqual(list_ycgl, list_sql)
def test_1_ycgl(self): '''功率曲线展示 > 预测曲线 > 超短期预测曲线 > 预测功率''' driver = self.driver driver.maximize_window() start( driver, 'http://192.168.60.21:8080/SPPS/weatherInfo/temCurveAction.action') click_list = ['功率曲线展示', '预测曲线', '超短期预测曲线'] #点击菜单 menu(driver, click_list) if now_time()[0] != 1: print("waiting 70") time.sleep(70) driver.find_element_by_id('search').click() #搜索 time.sleep(2) hang = '/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/table/tbody/tr' global list_heng list_heng = get_heng(driver, hang) #获取表格数据 list_ycgl_yuan = get_col(list_heng, 3).copy() # 将表格数据生成列表 list_ycgl = del_list_tup(list_ycgl_yuan, ' ') if list_ycgl == []: print("列表查询数据为空,无法比较") else: sql_kk = "SELECT a.PRE_DATE, a.PRE_TIME, a.PRE_POWER FROM SPPS_PREDICT_CDQ_DEAL a WHERE " \ "PRE_DATE = 'tom_date()' and a.pre_date || ' ' || a.pre_time >to_char(sysdate - 0 / 24, 'yyyy-mm-dd hh24:mi:ss') ORDER BY PRE_TIME " sql = sql_kk.replace("tom_date()", now_date()) list_sql = get_oracle_h(sql, 2) # 查询数据库 print('超短期预测表格数据为:', list_ycgl) print('超短期预测sql数据为', list_sql) print('\n') self.assertEqual(list_ycgl, list_sql)
def test_something(self): driver = self.driver start(driver) click_list = ['功率曲线展示', '历史曲线'] # click_list=['功率曲线展示','预测曲线','短期预测曲线'] for i in click_list: driver.find_element_by_link_text(i).click() driver.find_element_by_id('beginDate').click() js = "$('input[id=beginDate]').attr('readonly','')" driver.execute_script(js) driver.find_element_by_id('beginDate').clear() driver.find_element_by_id('beginDate').send_keys( '2017-06-24') # 输入查询开始时间 # time.sleep(2) driver.find_element_by_id('endDate').click() js = "$('input[id=endDate]').attr('readonly','')" driver.execute_script(js) driver.find_element_by_id('endDate').clear() driver.find_element_by_id('endDate').send_keys( '2017-06-25') # 输入查询结束时间 # time.sleep(2) driver.find_element_by_id('search').click() time.sleep(2) hang = '/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/table/tbody/tr' lie = hang + '[1]/td' tr = driver.find_elements_by_xpath(hang) # 288 行数 td = driver.find_elements_by_xpath(lie) # 7 列数 print(len(tr), len(td)) list_henchu = [] # 获取横向列表 for i in range(1, len(tr) + 1): for k in range(1, len(td) + 1): m = hang + '[' + str(i) + ']' + '/td[' + str(k) + ']' try: list_henchu.append( float(driver.find_element_by_xpath(m).text)) except: list_henchu.append(driver.find_element_by_xpath(m).text) print("list横向初始值是:", list_henchu) list_qie = [0] list_henzhong = [] for i in range(1, len(tr) + 1): list_qie.append(len(td) * i) for i in list_qie: list_henzhong.append(list_henchu[i:i + len(td)]) list_henzhong.pop() print("横向最终值", list_henzhong) print('第一,三列值', get_col(list_henzhong, 3)) print('去除空格', deltup(get_col(list_henzhong, 3), ' '))
def gf_liuchen(click_list, datelist, its_xpath): #浏览器,菜单列表,是否点日历,日历列表,xpath,数据库列表 driver = choose("firefox") driver.maximize_window() start(driver) # click_list = ['气象信息展示', '温度曲线'] #点击菜单 menu(driver, click_list) if datelist[0] == 1: set_date(driver, datelist[1], datelist[2]) else: pass driver.find_element_by_id('search').click() #搜索 time.sleep(2) hang = its_xpath # hang='/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/table/tbody/tr' list_heng = get_heng(driver, hang).copy() #获取表格数据 list_wen = get_col(list_heng, n).copy() #将表格数据生成列表 # list_sql=get_oracle_h('192.168.60.36',"SELECT a.PRE_DATE,a.PRE_TIME,a.ARI_TEM \ # FROM GF_SPPS_NWP_DEAL a WHERE PRE_DATE='2017-08-08' ORDER BY PRE_TIME asc", 2)#查询数据库 list_sql = get_oracle_h(list_oracle[0], list_oracle[1], list_oracle[2]) print(list_wen) print(list_sql) list_wen.pop() return list_wen, list_sql, driver