class Test_Atria_CEO_Turbines_Screen: baseURL = ReadConfig.getApplicationURL() invalid_uname = ReadConfig.get_invalid_Username() invalid_pwd = ReadConfig.get_invalid_Password() logger = LogGen.ceo_logs() #Dashboard Test Scripts def test_variance_chart_for_all_turbines(self, setup): self.logger.info( "********************Test all turbines Started********************************" ) self.driver = setup self.files = DirectoryPath() self.driver.implicitly_wait(200) self.login_page = ceo_page(self.driver) self.driver.get(self.baseURL) self.login_page.get_ceo_screen() time.sleep(3) self.driver.find_element_by_xpath( self.login_page.dashboard_windfarm).click() time.sleep(5) self.driver.find_element_by_xpath( self.login_page.gvpalli_button).click() time.sleep(8) lst = len(self.driver.find_elements_by_tag_name("tr")) - 1 for i in range(2, 16): self.driver.find_element_by_xpath( "//tbody/tr[{0}]".format(i)).click() time.sleep(4) print(self.driver.current_url, "is displayed") self.driver.find_element_by_id( self.login_page.varianceDownloadBtn).click() time.sleep(4) self.filename = self.files.get_download_dir( ) + '/' + self.login_page.list_turbine[i] + '_variance.csv' print(self.filename) if os.path.isfile(self.filename) != True: print(self.login_page.list_turbine[i], ' csv file is not download') self.driver.close() else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) act_generation = 0 forcasted = 0 for row in csv.reader(fin): print('\n', row) act_generation += float(row[2]) forcasted += float(row[1]) actual = (self.driver.find_element_by_id( self.login_page.actualPowerGen).text).replace( 'KWh', '') forcast = (self.driver.find_element_by_id( self.login_page.forecastPowerGen).text).replace( 'KWh', '') generated = float(re.sub('\f', "", actual).strip()) forcasting = float(re.sub('\f', "", forcast).strip()) act_generation = round(act_generation, 2) forcasted = round(forcasted, 2) print(act_generation, generated, forcasted, forcasting) if act_generation != generated: print('Difference found at actual generation ', act_generation, generated) self.driver.save_screenshot( "../Screenshots/" + "test_turbines_actgen_variance.png") assert False if forcasted != forcasting: print('Difference found at actual forcasted ', forcasted, forcasting) self.driver.save_screenshot( "../Screenshots/" + "test_turbines_forcast_variance.png") assert False os.remove(self.filename) self.driver.find_element_by_id("backIcon").click() time.sleep(5) self.driver.close() def test_forcasted_chart_for_all_turbines(self, setup): self.logger.info( "********************Test all turbines Started********************************" ) self.driver = setup self.files = DirectoryPath() self.driver.implicitly_wait(200) self.login_page = ceo_page(self.driver) self.driver.get(self.baseURL) self.login_page.get_ceo_screen() time.sleep(3) self.driver.find_element_by_xpath( self.login_page.dashboard_windfarm).click() time.sleep(5) self.driver.find_element_by_xpath( self.login_page.gvpalli_button).click() time.sleep(8) lst = len(self.driver.find_elements_by_tag_name("tr")) - 1 for i in range(2, 16): self.driver.find_element_by_xpath( "//tbody/tr[{0}]".format(i)).click() time.sleep(6) print(self.driver.current_url, "is displayed") self.driver.find_element_by_id( self.login_page.forecastDownloadBtn).click() time.sleep(4) self.filename = self.files.get_download_dir( ) + '/' + self.login_page.list_turbine[i] + '_forecasted.csv' if os.path.isfile(self.filename) != True: print(self.filename, self.login_page.list_turbine[i], ' csv file is not download') self.driver.close() else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) forcasted = 0 for row in csv.reader(fin): print('\n', row) forcasted += float(row[1]) ui_forcast = (self.driver.find_element_by_id( self.login_page.forecastedPower).text).replace( 'KWh', '') ui_forcast = float(re.sub('\f', "", ui_forcast).strip()) forcasted = round(forcasted, 2) print('file value', forcasted, 'ui value', ui_forcast) if forcasted != ui_forcast: print('Difference found at actual generation ', forcasted, ui_forcast) self.driver.save_screenshot( "../Screenshots/" + "test_turbines_actgen_variance.png") assert False os.remove(self.filename) self.driver.find_element_by_id( self.login_page.backIcon).click() time.sleep(5) self.driver.close()
class Test_turbines_of_each_windfarms(): baseURL = ReadConfig.getApplicationURL() logger = LogGen.ceo_logs() def test_gvpalli_forcasted_graph_and_downloadcsv(self, setup): self.logger.info( "********************Test gv palli all turbines Started********************************" ) self.driver = setup self.driver.implicitly_wait(30) self.files = reuseable() self.login_page = ceo_page(self.driver) self.driver.get(self.baseURL) self.login_page.get_ceo_screen() time.sleep(5) self.driver.find_element_by_xpath( self.login_page.dashboard_windfarm).click() time.sleep(3) self.driver.find_element_by_xpath( self.login_page.gvpalli_button).click() time.sleep(5) turbines = self.driver.find_elements_by_tag_name('tr') for i in range(1, len(turbines)): turbines[i].click() time.sleep(3) self.driver.find_element_by_id(self.login_page.backIcon).click() time.sleep(5) self.driver.close() self.logger.info( '******************* GV Palli turbines completed*******************' ) def test_gvpalli_all_turbines_downloadcsv(self, setup): self.logger.info( "********************Test gv palli all turbines Started********************************" ) self.driver = setup self.driver.implicitly_wait(100) self.files = reuseable() self.login_page = ceo_page(self.driver) self.driver.get(self.baseURL) self.login_page.get_ceo_screen() time.sleep(5) self.driver.find_element_by_xpath( self.login_page.dashboard_windfarm).click() time.sleep(3) self.driver.find_element_by_xpath( self.login_page.gvpalli_button).click() time.sleep(5) # turbines =self.driver.find_elements_by_xpath('//tr') # turbi =self.driver.find_elements_by_xpath('//li/a') # for i in range(1, len(turbines)): # time.sleep(2) # turbines[i].click() # time.sleep(5) # self.driver.find_element_by_xpath("//*[@id='main-menu']/li[2]/a").click() # time.sleep(2) # self.driver.implicitly_wait(30) # for j in range(3,len(turbi)): # turbi[j].click() # time.sleep(10) turbines = self.driver.find_elements_by_id('G01').click() time.sleep(5) self.driver.find_element_by_xpath( "//*[@id='main-menu']/li[2]/a").click() time.sleep(2) for i in range(1, 15): self.driver.find_element_by_id(('G0', i)).click() self.driver.close() self.logger.info( '******************* GV Palli turbines completed*******************' )