def setUp(self): driver_path = pwd() self.driver = webdriver.Firefox( executable_path=driver_path.get_driver_path()) driver = cqube(self.driver) driver.open_cqube_appln()
import configparser import time import unittest import pandas as pd from Queries.test_query import TestQuery from TS.reuse_func import cqube from get_dir import pwd p = pwd() config = configparser.ConfigParser() config.read(p.get_json_data_ini_path()) class Semester(unittest.TestCase): def setUp(self): con = cqube() self.connection = con.connect_to_postgres() def test_query(self): district = TestQuery() df1 = pd.read_sql_query(district.district_wise_semester, self.connection) df1 = df1[['district_name', 'value_below_33', 'value_between_33_60', 'value_between_60_75', 'value_above_75', 'percent_below_33', 'percent_between_33_60', 'percent_between_60_75', 'percent_above_75']] df2 = pd.read_json(config['jsondata']['district_semester']) df2 = df2[['district_name','value_below_33', 'value_between_33_60', 'value_between_60_75', 'value_above_75', 'percent_below_33', 'percent_between_33_60', 'percent_between_60_75', 'percent_above_75']] df_diff = pd.concat([df1, df2]).drop_duplicates(keep=False) assert df_diff.empty, "Found difference between s3 bucket metrics and the metrics generated outside cqube for district wise school percentage and values " print("No Difference between s3 bucket metrics and the metrics generated outside cqube for district wise school percentage and values ")
def test_Issue_sem(self): smoke_test = unittest.TestSuite() smoke_test.addTests([ # file name .class name ##Semester Reports unittest.defaultTestLoader.loadTestsFromTestCase( Block_cluster.Dist_test), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_Cluster_validation.click_on_cluster), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_District.District_test), unittest.defaultTestLoader.loadTestsFromTestCase( clickon_Clusterbtn.clusterbtn_click), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_check.click_on_record), unittest.defaultTestLoader.loadTestsFromTestCase( Clusters_check.click_on_block), unittest.defaultTestLoader.loadTestsFromTestCase( cluster_click_gohome.dots_test_gohome), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_data_Check.district_click), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_data_check.Distict_dots_test), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_dot.block_click), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_dots_count.dot_count_test), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_level_dots.test_dot_records), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_record_check.Cluster_dots), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_to_Dashboard.Dashobard_click), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_validation.test_on_clusterrecords), unittest.defaultTestLoader.loadTestsFromTestCase( Clusterdata.district_record), unittest.defaultTestLoader.loadTestsFromTestCase( Clusters_check.click_on_block), unittest.defaultTestLoader.loadTestsFromTestCase( Clusters_test.Test_District_cluster), unittest.defaultTestLoader.loadTestsFromTestCase( clusterwise.Test_blockwise_dots), unittest.defaultTestLoader.loadTestsFromTestCase( Dist_block_cluster.District_test), unittest.defaultTestLoader.loadTestsFromTestCase( Dist_dotcount.clickon_clusterecord), unittest.defaultTestLoader.loadTestsFromTestCase( District_clusterwise.click_block_clusters), unittest.defaultTestLoader.loadTestsFromTestCase( Dots_check_names.District_dots_check), unittest.defaultTestLoader.loadTestsFromTestCase( Testing_records.Cluster_test), unittest.defaultTestLoader.loadTestsFromTestCase( Validate_district_cluster.District_dots_test), unittest.defaultTestLoader.loadTestsFromTestCase( District_dataTest.Semester_Home), unittest.defaultTestLoader.loadTestsFromTestCase( District_dots.block_dots_test), unittest.defaultTestLoader.loadTestsFromTestCase( DistrictNames.Semester_Dist_names), unittest.defaultTestLoader.loadTestsFromTestCase( Dots_check.validate_clicking_function), unittest.defaultTestLoader.loadTestsFromTestCase( Login_Page.Semester_click), unittest.defaultTestLoader.loadTestsFromTestCase( Random_dots.countdots_dist), unittest.defaultTestLoader.loadTestsFromTestCase( records_check.click_on_District_block), unittest.defaultTestLoader.loadTestsFromTestCase( SR_Home.Semester_Home), unittest.defaultTestLoader.loadTestsFromTestCase( SR_HomeBtn.Dist_validation) ]) # html_report_generate_path = Data() p = pwd() outfile = open(p.get_report_path(), "a") runner1 = HTMLTestRunner.HTMLTestRunner(stream=outfile, title='Semester Test Report', verbosity=1, description='Smoke Tests') runner1.run(smoke_test) outfile.close()
def check_districts_block(self): cal = GetData() cal.click_on_state(self.driver) cal.page_loading(self.driver) select_district = Select(self.driver.find_element_by_id('choose_dist')) select_block = Select(self.driver.find_element_by_id('choose_block')) count = 0 for x in range( len(select_district.options) - 1, len(select_district.options)): select_district.select_by_index(x) cal.page_loading(self.driver) for y in range( len(select_block.options) - 1, len(select_block.options)): select_block.select_by_index(y) cal.page_loading(self.driver) markers = self.driver.find_elements_by_class_name(Data.dots) if len(markers) - 1 == 0: print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "No Data") count = count + 1 else: time.sleep(2) self.driver.find_element_by_id('download').click() time.sleep(2) p = pwd() self.filename = p.get_download_dir( ) + "/Cluster_per_block_report_sem_2.csv" if not os.path.isfile(self.filename): print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "csv is not downloaded") count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) total = 0 schools = 0 for row in csv.reader(fin): total += int(row[14]) schools += int(row[13]) students = self.driver.find_element_by_id( "students").text res = re.sub('\D', "", students) school = self.driver.find_element_by_id( "schools").text sc = re.sub('\D', "", school) if int(res) != total: print("District" + select_district. first_selected_option.text + "Block" + select_block.first_selected_option.text + "student count mismatched") count = count + 1 if int(sc) != schools: print("District" + select_district. first_selected_option.text + "Block" + select_block.first_selected_option.text + "school count mismatched") count = count + 1 self.remove_csv() return count
def check_district_block_cluster(self): cal = GetData() cal.click_on_state(self.driver) cal.page_loading(self.driver) select_district = Select( self.driver.find_element_by_name('myDistrict')) select_block = Select(self.driver.find_element_by_name('myBlock')) select_cluster = Select(self.driver.find_element_by_name('myCluster')) count = 0 for x in range( len(select_district.options) - 1, len(select_district.options)): select_district.select_by_index(x) cal.page_loading(self.driver) for y in range( len(select_block.options) - 1, len(select_block.options)): select_block.select_by_index(y) cal.page_loading(self.driver) for z in range( len(select_cluster.options) - 1, len(select_cluster.options)): select_cluster.select_by_index(z) cal.page_loading(self.driver) markers = self.driver.find_elements_by_class_name( Data.dots) if len(markers) - 1 == 0: print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "No data") count = count + 1 time.sleep(2) self.driver.find_element_by_id('download').click() time.sleep(2) p = pwd() self.filename = p.get_download_dir( ) + "/Schools_per_cluster_report_" + self.month + "_" + self.year + ".csv" if not os.path.isfile(self.filename): print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "csv is not downloaded") count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) total = 0 for row in csv.reader(fin): row = row[6].strip('\"') row1 = row.replace(',', "") total += int(row1) students = self.driver.find_element_by_id( "students").text res = re.sub('\D', "", students) school = self.driver.find_element_by_id( "schools").text sc = re.sub('\D', "", school) if int(res) != total: print( "District" + select_district. first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "student count mismatched") count = count + 1 if int(sc) != len(markers) - 1: print( "District" + select_district. first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "school count mismatched") count = count + 1 self.remove_csv() return count
def setUp(self): dri = pwd() self.driver = webdriver.Chrome(dri.get_driver_path()) driver = cqube(self.driver) driver.open_cqube_appln() driver.login_cqube()
def check_last7_district_block_cluster(self): cal = GetData() self.fname = file_extention() cal.click_on_state(self.driver) management = self.driver.find_element_by_id('name').text management = management[16:].lower().strip() period = Select(self.driver.find_element_by_id('period')) period.select_by_index(3) time.sleep(3) if 'No Data found' in self.driver.page_source: print(period.first_selected_option.text, ' is not having data') else: timeseries = period.first_selected_option.text timeseries = timeseries.lower().replace(" ", '_') select_district = Select( self.driver.find_element_by_id('choose_dist')) select_block = Select( self.driver.find_element_by_id('choose_block')) select_cluster = Select( self.driver.find_element_by_id('choose_cluster')) count = 0 for x in range( len(select_district.options) - 1, len(select_district.options)): select_district.select_by_index(x) cal.page_loading(self.driver) for y in range( len(select_block.options) - 1, len(select_block.options)): select_block.select_by_index(y) cal.page_loading(self.driver) for z in range( len(select_cluster.options) - 2, len(select_cluster.options)): select_cluster.select_by_index(z) time.sleep(2) cal.page_loading(self.driver) value = self.driver.find_element_by_id( 'choose_cluster').get_attribute('value') value = value.split(":") values = value[1].strip() + '_' markers = self.driver.find_elements_by_class_name( Data.dots) if len(markers) - 1 == 0: print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "No data") count = count + 1 time.sleep(2) self.driver.find_element_by_id('download').click() time.sleep(3) p = pwd() self.filename = p.get_download_dir( ) + "/" + self.fname.pat_clusterwise( ) + management + '_' + timeseries + '_allGrades__schools_of_cluster_' + values + cal.get_current_date( ) + '.csv' print(self.filename) if not os.path.isfile(self.filename): print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "csv is not downloaded") count = count + 1 else: data = pd.read_csv(self.filename) student = data['Total Students'].sum() schools = data['Total Schools'].sum() attended = data['Students Attended'].sum() students = self.driver.find_element_by_id( "students").text studs = re.sub('\D', "", students) students = self.driver.find_element_by_id( "students").text studs = re.sub('\D', "", students) school = self.driver.find_element_by_id( "schools").text sc = re.sub('\D', "", school) attend = self.driver.find_element_by_id( "studentsAttended").text atd = re.sub('\D', "", attend) print('value on footer', student, schools, attended) print('value on csv file', studs, sc, atd) if int(studs) != int(student): print( "District " + select_district.first_selected_option.text + "Block " + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + " student count mismatched", int(studs), int(student)) count = count + 1 if int(sc) != int(schools): print( "District " + select_district.first_selected_option.text + "Block " + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + " school count mismatched", int(sc), int(schools)) count = count + 1 if int(atd) != int(attended): print( "District " + select_district.first_selected_option.text + "Block " + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + " student attended mismatched", int(atd), int(attended)) count = count + 1 os.remove(self.filename) return count
def check_last30_district_block_cluster(self): cal = GetData() self.fname = file_extention() cal.click_on_state(self.driver) management = self.driver.find_element_by_id('name').text management = management[16:].lower().strip() period = Select(self.driver.find_element_by_id('period')) period.select_by_index(2) time.sleep(3) if 'No Data found' in self.driver.page_source: print(period.first_selected_option.text, ' is not having data') else: timeseries = period.first_selected_option.text timeseries = timeseries.lower().replace(" ", '_') select_district = Select( self.driver.find_element_by_id('choose_dist')) select_block = Select( self.driver.find_element_by_id('choose_block')) select_cluster = Select( self.driver.find_element_by_id('choose_cluster')) count = 0 for x in range( len(select_district.options) - 1, len(select_district.options)): select_district.select_by_index(x) cal.page_loading(self.driver) for y in range( len(select_block.options) - 1, len(select_block.options)): select_block.select_by_index(y) cal.page_loading(self.driver) for z in range(1, len(select_cluster.options)): select_cluster.select_by_index(z) time.sleep(2) cal.page_loading(self.driver) value = self.driver.find_element_by_id( 'choose_cluster').get_attribute('value') value = value.split(":") values = value[1].strip() + '_' markers = self.driver.find_elements_by_class_name( Data.dots) if len(markers) - 1 == 0: print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "No data") count = count + 1 time.sleep(2) self.driver.find_element_by_id('download').click() time.sleep(3) p = pwd() self.filename = p.get_download_dir( ) + "/" + self.fname.sr_clusterwise( ) + management + '_' + timeseries + '_allGrades__schools_of_cluster_' + values + cal.get_current_date( ) + '.csv' print(self.filename) if not os.path.isfile(self.filename): print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "csv is not downloaded") count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) dots = len(markers) - 1 if dots != row_count: print( 'Markers records and csv file records are not matching ', dots, row_count) count = count + 1 self.remove_csv() return count
def test_click_on_blocks_cluster_school(self): self.data.page_loading(self.driver) p = pwd() count = 0 files = file_extention() self.driver.find_element_by_id(Data.block_btn).click() self.data.page_loading(self.driver) time.sleep(5) dots = self.driver.find_elements_by_class_name(Data.dots) markers = len(dots) - 1 self.assertNotEqual(0, markers, msg="Markers not present on block level ") self.driver.find_element_by_id(Data.Download).click() time.sleep(3) self.filename = p.get_download_dir() + '/' + files.telemtry_block( ) + self.data.get_current_date() + '.csv' print(self.filename) if os.path.isfile(self.filename) != True: print('Block wise csv file is not download') count = count + 1 else: print(files.telemtry_block() + 'is downloaded') os.remove(self.filename) # self.driver.find_element_by_id('homeBtn').click() # self.data.page_loading(self.driver) # self.driver.find_element_by_id('telemData').click() # self.data.page_loading(self.driver) self.data.page_loading(self.driver) self.driver.find_element_by_id(Data.cluster_btn).click() self.data.page_loading(self.driver) time.sleep(5) dots = self.driver.find_elements_by_class_name(Data.dots) markers = len(dots) - 1 self.assertNotEqual(0, markers, msg="Markers not present on cluster level ") self.data.page_loading(self.driver) self.driver.find_element_by_id(Data.Download).click() time.sleep(3) self.filename = p.get_download_dir() + '/' + files.telemetry_cluster( ) + self.data.get_current_date() + '.csv' if os.path.isfile(self.filename) != True: print('Cluster wise csv file is not download') count = count + 1 else: print(files.telemetry_cluster() + 'is downloaded csv file') os.remove(self.filename) # self.driver.find_element_by_id('homeBtn').click() # self.data.page_loading(self.driver) # self.driver.find_element_by_id('telemData').click() # self.data.page_loading(self.driver) self.data.page_loading(self.driver) self.driver.find_element_by_id(Data.schoolbtn).click() self.data.page_loading(self.driver) time.sleep(5) dots = self.driver.find_elements_by_class_name(Data.dots) markers = len(dots) - 1 self.assertNotEqual(0, markers, msg="Markers not present on cluster level ") self.driver.find_element_by_id(Data.Download).click() time.sleep(3) self.filename = p.get_download_dir() + '/' + files.telemetry_school( ) + self.data.get_current_date() + '.csv' if os.path.isfile(self.filename) != True: print('School wise csv file is not download') count = count + 1 else: print(files.telemetry_school() + 'is downloaded csv file') os.remove(self.filename) self.assertEqual(0, count, msg='File is not downloaded') self.driver.find_element_by_id('homeBtn').click() self.data.page_loading(self.driver) self.driver.find_element_by_id('telemData').click() self.data.page_loading(self.driver)
def test_Issue(self): Functional_test = unittest.TestSuite() Functional_test.addTests([ unittest.defaultTestLoader.loadTestsFromTestCase( Change_password_Page.Click_on_pwd), unittest.defaultTestLoader.loadTestsFromTestCase( Click_on_Changepassword_without_newPassword.Click_on_pwd), unittest.defaultTestLoader.loadTestsFromTestCase( Click_on_changepwd.Click_ChangePwd), unittest.defaultTestLoader.loadTestsFromTestCase( Negative_changepwd.Click_ChangePwd), unittest.defaultTestLoader.loadTestsFromTestCase( set_new_password.Click_ChangePassword), unittest.defaultTestLoader.loadTestsFromTestCase( Set_up_new_password.Click_ChangePassword), unittest.defaultTestLoader.loadTestsFromTestCase( Invalid_credentials_check.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( Login_and_logout.test_logout), unittest.defaultTestLoader.loadTestsFromTestCase( Login_Negative_test.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_test_with_invalid_user.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_to_cQube.Login_to_cQube), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_invalid_credentials.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_invalid_password.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_invalid_user.Login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_unuser.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_wrong_user.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_wrong_user_password.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_wrong_credentials.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( cluster_table_record.test_cluster), unittest.defaultTestLoader.loadTestsFromTestCase( Clusterwise_test.table_recordtest), unittest.defaultTestLoader.loadTestsFromTestCase( CRC_Blockwise.crc_cluster_test), unittest.defaultTestLoader.loadTestsFromTestCase( CRC_distlist.District_list), unittest.defaultTestLoader.loadTestsFromTestCase( CRC_District_Details.crc_report), unittest.defaultTestLoader.loadTestsFromTestCase( CRC_download.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( CRCreports.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( dist_blk_clu.District_recordtest), unittest.defaultTestLoader.loadTestsFromTestCase( Dist_block.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( District_click_all.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( District_wise_file.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( Districtwise_file.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( Districtwise_validation.dwise_type), unittest.defaultTestLoader.loadTestsFromTestCase( Footer_data.bar_details), unittest.defaultTestLoader.loadTestsFromTestCase( Graph_xaxis_dropdown.Xaxis), unittest.defaultTestLoader.loadTestsFromTestCase(Graph_XY.XYaxis), unittest.defaultTestLoader.loadTestsFromTestCase( Graph_Yaxis.Yaxis), unittest.defaultTestLoader.loadTestsFromTestCase( map_cluster.Map_blocks), unittest.defaultTestLoader.loadTestsFromTestCase( Map_validation1.Map_District), unittest.defaultTestLoader.loadTestsFromTestCase( map_validation2.Map_blocks), unittest.defaultTestLoader.loadTestsFromTestCase( Select_District_validate.District_report), unittest.defaultTestLoader.loadTestsFromTestCase( Select_Type.Sel_type), unittest.defaultTestLoader.loadTestsFromTestCase( TableData_District.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( Block_cluster.Dist_test), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_Cluster_validation.click_on_cluster), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_District.District_test), unittest.defaultTestLoader.loadTestsFromTestCase( clickon_Clusterbtn.clusterbtn_click), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_check.click_on_record), unittest.defaultTestLoader.loadTestsFromTestCase( Clusters_check.click_on_block), unittest.defaultTestLoader.loadTestsFromTestCase( cluster_click_gohome.dots_test_gohome), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_data_Check.district_click), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_data_check.Distict_dots_test), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_dot.block_click), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_dots_count.dot_count_test), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_level_dots.test_dot_records), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_record_check.Cluster_dots), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_to_Dashboard.Dashobard_click), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_validation.test_on_clusterrecords), unittest.defaultTestLoader.loadTestsFromTestCase( Clusterdata.district_record), unittest.defaultTestLoader.loadTestsFromTestCase( Clusters_check.click_on_block), unittest.defaultTestLoader.loadTestsFromTestCase( Clusters_test.Test_District_cluster), unittest.defaultTestLoader.loadTestsFromTestCase( clusterwise.Test_blockwise_dots), unittest.defaultTestLoader.loadTestsFromTestCase( Dist_block_cluster.District_test), unittest.defaultTestLoader.loadTestsFromTestCase( Dist_dotcount.clickon_clusterecord), unittest.defaultTestLoader.loadTestsFromTestCase( District_clusterwise.click_block_clusters), unittest.defaultTestLoader.loadTestsFromTestCase( Dots_check_names.District_dots_check), unittest.defaultTestLoader.loadTestsFromTestCase( home_icon.Home_icon), unittest.defaultTestLoader.loadTestsFromTestCase( Testing_records.Cluster_test), unittest.defaultTestLoader.loadTestsFromTestCase( Validate_district_cluster.District_dots_test), unittest.defaultTestLoader.loadTestsFromTestCase( District_dataTest.Semester_Home), unittest.defaultTestLoader.loadTestsFromTestCase( District_dots.block_dots_test), unittest.defaultTestLoader.loadTestsFromTestCase( DistrictNames.Semester_Dist_names), unittest.defaultTestLoader.loadTestsFromTestCase( Dots_check.validate_clicking_function), unittest.defaultTestLoader.loadTestsFromTestCase( Login_Page.Semester_click), unittest.defaultTestLoader.loadTestsFromTestCase( Random_dots.countdots_dist), unittest.defaultTestLoader.loadTestsFromTestCase( records_check.click_on_District_block), unittest.defaultTestLoader.loadTestsFromTestCase( SR_Home.Semester_Home), unittest.defaultTestLoader.loadTestsFromTestCase( SR_HomeBtn.Dist_validation) ]) dir = pwd() outfile = open(dir.get_functional_report_path(), "w") runner1 = HTMLTestRunner.HTMLTestRunner( stream=outfile, title='Test Report', verbosity=1, description='Functional Testing Report') runner1.run(Functional_test)
def test_districtwise(self): p = pwd() self.cal = GetData() self.driver.implicitly_wait(20) self.driver.find_element_by_xpath(Data.hyper_link).click() self.cal.page_loading(self.driver) select_district = Select( self.driver.find_element_by_name('myDistrict')) count = 0 self.fname = file_extention() for x in range(1, len(select_district.options)): select_district.select_by_index(x) self.cal.page_loading(self.driver) value = self.driver.find_element_by_name( 'myDistrict').get_attribute('value') distval = value[3:] + '_' nodata = self.driver.find_element_by_id("errMsg").text if nodata == "No data found": print(select_district.options[x].text, "no data found!") count = count + 1 else: self.driver.find_element_by_id(Data.Download).click() time.sleep(3) self.filename = p.get_download_dir( ) + '/' + self.fname.crc_districtwise() + distval.strip( ) + self.cal.get_current_date() + '.csv' if os.path.isfile(self.filename) != True: print(select_district.options[x].text, 'csv file is not downloaded') count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) tschools = 0 vsts = 0 vstd = 0 for row in csv.reader(fin): tschools += int(row[0]) vsts += int(row[2]) vstd += int(row[1]) totalschools = self.driver.find_element_by_id( "schools").text visited = self.driver.find_element_by_id( "visited").text visits = self.driver.find_element_by_id("visits").text tsc = re.sub('\D', "", totalschools) vs = re.sub('\D', "", visits) vd = re.sub('\D', "", visited) if int(tsc) != tschools: print(select_district.options[x].text, ":", "total no of schools :", tschools, int(tsc), "records are mismatch found") if int(vs) != vsts: print(select_district.options[x].text, ":", "total no of visits :", int(vs), vsts, "records are mismatch found") if int(vd) != vstd: print(select_district.options[x].text, ":", "total no of visits :", int(vd), vstd, "records are mismatch found") os.remove(self.filename) return count
def get_each_management_wise_exception_list(self): self.data = GetData() self.driver.implicitly_wait(200) management_types = Select(self.driver.find_element_by_id('management')) # count = len(management_types.options)-1 count = 0 management_types.select_by_index(1) name = management_types.options[1].text time.sleep(4) self.driver.find_element_by_id('isdata').click() time.sleep(4) print(name, 'is selected and downloading csv file') self.driver.find_element_by_xpath( '//*[@id="table"]/tbody/tr/td[2]/button').click() time.sleep(30) self.p = pwd() self.filename = self.p.get_download_dir() + '/school_invalid_data.csv' if os.path.isfile(self.filename) != True: print(name, 'Download exception list is not downloaded ') count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) overall = row_count if int(row_count) > 0: print(name, row_count, 'Exception records are present ') else: print(name, 'exception records are not present') count = count + 1 # overall = 0+row_count # if management_types.options[i].text in data: # print(name , 'having exception list') # else: # print(name,"selected management exception is not present in downloaded file") # count = count + 1 os.remove(self.filename) self.driver.find_element_by_id('homeBtn').click() time.sleep(3) management_types = Select(self.driver.find_element_by_id('management')) management_types.select_by_index(2) name = management_types.options[2].text time.sleep(4) self.driver.find_element_by_id('isdata').click() time.sleep(4) print(name, 'is selected and downloading csv file') self.driver.find_element_by_xpath( '//*[@id="table"]/tbody/tr/td[2]/button').click() time.sleep(30) self.p = pwd() self.filename = self.p.get_download_dir() + '/school_invalid_data.csv' if os.path.isfile(self.filename) != True: print(name, 'Download exception list is not downloaded ') count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) central = row_count if int(row_count) > 0: print(name, row_count, 'Exception records are present ') else: print(name, 'exception records are not present') count = count + 1 # overall = 0+row_count # if management_types.options[i].text in data: # print(name , 'having exception list') # else: # print(name,"selected management exception is not present in downloaded file") # count = count + 1 os.remove(self.filename) self.driver.find_element_by_id('homeBtn').click() time.sleep(5) management_types = Select(self.driver.find_element_by_id('management')) management_types.select_by_index(3) name = management_types.options[3].text time.sleep(4) self.driver.find_element_by_id('isdata').click() time.sleep(4) print(name, 'is selected and downloading csv file') self.driver.find_element_by_xpath( '//*[@id="table"]/tbody/tr/td[2]/button').click() time.sleep(30) self.p = pwd() self.filename = self.p.get_download_dir() + '/school_invalid_data.csv' if os.path.isfile(self.filename) != True: print(name, 'Download exception list is not downloaded ') count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) Govt = row_count if int(row_count) > 0: print(name, row_count, 'Exception records are present ') else: print(name, 'exception records are not present') count = count + 1 # overall = 0+row_count # if management_types.options[i].text in data: # print(name , 'having exception list') # else: # print(name,"selected management exception is not present in downloaded file") # count = count + 1 os.remove(self.filename) self.driver.find_element_by_id('homeBtn').click() time.sleep(5) management_types = Select(self.driver.find_element_by_id('management')) management_types.select_by_index(4) name = management_types.options[4].text time.sleep(4) self.driver.find_element_by_id('isdata').click() time.sleep(4) print(name, 'is selected and downloading csv file') self.driver.find_element_by_xpath( '//*[@id="table"]/tbody/tr/td[2]/button').click() time.sleep(30) self.p = pwd() self.filename = self.p.get_download_dir() + '/school_invalid_data.csv' if os.path.isfile(self.filename) != True: print(name, 'Download exception list is not downloaded ') count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) granted = row_count if int(row_count) > 0: print(name, row_count, 'Exception records are present ') else: print(name, 'exception records are not present') count = count + 1 # overall = 0+row_count # if management_types.options[i].text in data: # print(name , 'having exception list') # else: # print(name,"selected management exception is not present in downloaded file") # count = count + 1 os.remove(self.filename) self.driver.find_element_by_id('homeBtn').click() time.sleep(5) management_types = Select(self.driver.find_element_by_id('management')) management_types.select_by_index(5) name = management_types.options[5].text time.sleep(4) self.driver.find_element_by_id('isdata').click() time.sleep(4) print(name, 'is selected and downloading csv file') self.driver.find_element_by_xpath( '//*[@id="table"]/tbody/tr/td[2]/button').click() time.sleep(30) self.p = pwd() self.filename = self.p.get_download_dir() + '/school_invalid_data.csv' if os.path.isfile(self.filename) != True: print(name, 'Download exception list is not downloaded ') count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) model = row_count if int(row_count) > 0: print(name, row_count, 'Exception records are present ') else: print(name, 'exception records are not present') count = count + 1 # overall = 0+row_count # if management_types.options[i].text in data: # print(name , 'having exception list') # else: # print(name,"selected management exception is not present in downloaded file") # count = count + 1 os.remove(self.filename) self.driver.find_element_by_id('homeBtn').click() time.sleep(5) management_types = Select(self.driver.find_element_by_id('management')) management_types.select_by_index(6) name = management_types.options[6].text time.sleep(4) self.driver.find_element_by_id('isdata').click() time.sleep(4) print(name, 'is selected and downloading csv file') self.driver.find_element_by_xpath( '//*[@id="table"]/tbody/tr/td[2]/button').click() time.sleep(30) self.p = pwd() self.filename = self.p.get_download_dir() + '/school_invalid_data.csv' if os.path.isfile(self.filename) != True: print(name, 'Download exception list is not downloaded ') count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) private = row_count if int(row_count) > 0: print(name, row_count, 'Exception records are present ') else: print(name, 'exception records are not present') count = count + 1 # overall = 0+row_count # if management_types.options[i].text in data: # print(name , 'having exception list') # else: # print(name,"selected management exception is not present in downloaded file") # count = count + 1 os.remove(self.filename) self.driver.find_element_by_id('homeBtn').click() time.sleep(5) management_types = Select(self.driver.find_element_by_id('management')) management_types.select_by_index(7) name = management_types.options[7].text time.sleep(4) self.driver.find_element_by_id('isdata').click() time.sleep(4) print(name, 'is selected and downloading csv file') self.driver.find_element_by_xpath( '//*[@id="table"]/tbody/tr/td[2]/button').click() time.sleep(30) self.p = pwd() self.filename = self.p.get_download_dir() + '/school_invalid_data.csv' if os.path.isfile(self.filename) != True: print(name, 'Download exception list is not downloaded ') count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) social = row_count if int(row_count) > 0: print(name, row_count, 'Exception records are present ') else: print(name, 'exception records are not present') count = count + 1 # overall = 0+row_count # if management_types.options[i].text in data: # print(name , 'having exception list') # else: # print(name,"selected management exception is not present in downloaded file") # count = count + 1 os.remove(self.filename) self.driver.find_element_by_id('homeBtn').click() time.sleep(5) management_types = Select(self.driver.find_element_by_id('management')) management_types.select_by_index(8) name = management_types.options[8].text time.sleep(4) self.driver.find_element_by_id('isdata').click() time.sleep(4) print(name, 'is selected and downloading csv file') self.driver.find_element_by_xpath( '//*[@id="table"]/tbody/tr/td[2]/button').click() time.sleep(30) self.p = pwd() self.filename = self.p.get_download_dir() + '/school_invalid_data.csv' if os.path.isfile(self.filename) != True: print(name, 'Download exception list is not downloaded ') count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) tribal = row_count if int(row_count) > 0: print(name, row_count, 'Exception records are present ') else: print(name, 'exception records are not present') count = count + 1 # overall = 0+row_count # if management_types.options[i].text in data: # print(name , 'having exception list') # else: # print(name,"selected management exception is not present in downloaded file") # count = count + 1 os.remove(self.filename) self.driver.find_element_by_id('homeBtn').click() time.sleep(5) total_managemnt = int(social + tribal + granted + Govt + central + private + model) if int(overall) != total_managemnt: print(overall, total_managemnt, 'exceptions list are not equal to all other management') count = count + 1 return count
def check_csv_download(self): p = pwd() self.cal = GetData() self.fname =file_extention() self.driver.implicitly_wait(60) self.driver.find_element_by_xpath(Data.hyper_link).click() self.cal.page_loading(self.driver) self.year,self.month = self.cal.get_crc_month_and_year_values() management_name = self.driver.find_element_by_id('nm').text name = management_name[16:].strip().lower() select_district = Select(self.driver.find_element_by_name('myDistrict')) select_block = Select(self.driver.find_element_by_name('myBlock')) count = 0 for x in range(int(len(select_district.options))-1, int(len(select_district.options))): select_district.select_by_index(x) self.cal.page_loading(self.driver) for y in range(1, len(select_block.options)): select_block.select_by_index(y) self.cal.page_loading(self.driver) cluval = self.driver.find_element_by_name('myBlock').get_attribute('value') cluval = cluval.split(":") value = cluval[1].strip() nodata = self.driver.find_element_by_id("errMsg").text if nodata == "No data found": print(select_district.options[x].text, select_block.options[y].text,"no data found!") count = count + 1 else: self.driver.find_element_by_id(Data.Download).click() time.sleep(3) self.filename = p.get_download_dir() + '/' + self.fname.crc_blockwise()+name+"_"+self.year+"_"+str(self.month)+'_clusters_of_block_' + value.strip() +"_"+ self.cal.get_current_date() + '.csv' print(self.filename) if not os.path.isfile(self.filename): print(select_block.options[y].text, " csv file not downloaded") else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) tschools = 0 vsts = 0 vstd = 0 for row in csv.reader(fin): tschools += int(row[0]) vsts += int(row[2]) vstd += int(row[1]) totalschools = self.driver.find_element_by_id("schools").text visited = self.driver.find_element_by_id("visited").text visits = self.driver.find_element_by_id("visits").text tsc = re.sub('\D', "", totalschools) vs = re.sub('\D', "", visits) vd = re.sub('\D', "", visited) if int(tsc) != tschools: print(select_district.options[x].text, ":", "total no of schools :", tschools, int(tsc), "records are mismatch found") count = count + 1 if int(vs) != vsts: print(select_district.options[x].text, ":", "total no of visits :", int(vs), vsts, "records are mismatch found") count = count + 1 if int(vd) != vstd: print(select_district.options[x].text, ":", "total no of visits :", int(vd), vstd, "records are mismatch found") count = count + 1 os.remove(self.filename) return count
def courserecords_of_last7days(self): self.data = GetData() self.p = pwd() self.msg = file_extention() count = 0 self.driver.find_element_by_xpath(Data.hyper_link).click() self.data.page_loading(self.driver) timeperiod = Select(self.driver.find_element_by_name('timePeriod')) timeperiod.select_by_visible_text(' Last 7 Days ') self.data.page_loading(self.driver) if self.msg.no_data_available() in self.driver.page_source: print("Last 7 days dont have records") else: self.data.page_loading(self.driver) collnames = Select( self.driver.find_element_by_name('collectionName')) for i in range(1, len(collnames.options)): time.sleep(1) collnames.select_by_index(i) name = "collectionType_textbook_data_of" + collnames.options[ i].text fname = name.replace(' ', '_') time.sleep(2) self.driver.find_element_by_id(Data.Download).click() time.sleep(3) cname = fname.rstrip('_') print(cname, "cname") self.filename = self.p.get_download_dir( ) + '/' + cname + '.csv' file = os.path.isfile(self.filename) if file == True: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) content = 0 for row in csv.reader(fin): content += int(row[4]) usage = self.driver.find_element_by_id( "totalCount").text tsc = re.sub('\D', "", usage) if int(tsc) != content: print(collnames.options[i].text, ":", int(content), int(tsc), "usage content mismatch found") count = count + 1 os.remove(self.filename) else: alname = fname[:-1] + '.csv' print('current fname', alname) self.filename = self.p.get_download_dir() + '/' + alname with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) content = 0 for row in csv.reader(fin): content += int(row[4]) usage = self.driver.find_element_by_id( "totalCount").text tsc = re.sub('\D', "", usage) if int(tsc) != content: print(collnames.options[i].text, ":", int(content), int(tsc), "usage content mismatch found") count = count + 1 os.remove(self.filename) return count
def test_Issue(self): system_test = unittest.TestSuite() system_test.addTests([ unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_block_cluster_schools.SAROption), unittest.defaultTestLoader.loadTestsFromTestCase(click_on_blocks.SAR), unittest.defaultTestLoader.loadTestsFromTestCase(click_on_cluster.SAR), unittest.defaultTestLoader.loadTestsFromTestCase(click_on_district.SAR), unittest.defaultTestLoader.loadTestsFromTestCase(click_on_schools.SAR), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_SR_HomeBtn.Home_click), unittest.defaultTestLoader.loadTestsFromTestCase(Cluster_level_dots.test_dot_records), unittest.defaultTestLoader.loadTestsFromTestCase(Cluster_to_Dashboard.Dashobard_click), unittest.defaultTestLoader.loadTestsFromTestCase(Dashboard_menu.Dash_menu), unittest.defaultTestLoader.loadTestsFromTestCase(District_clusters.test_cluster), unittest.defaultTestLoader.loadTestsFromTestCase(blockdata_check.Blockdata_validation), unittest.defaultTestLoader.loadTestsFromTestCase(blocks_csv_download.Block_validation), unittest.defaultTestLoader.loadTestsFromTestCase(Blocks_random.District_validation), unittest.defaultTestLoader.loadTestsFromTestCase(Check_district_block.block_validation), unittest.defaultTestLoader.loadTestsFromTestCase(click_on_cqube_login.CqubeLogin), unittest.defaultTestLoader.loadTestsFromTestCase(click_logout.SAR), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_Semester.test_SR), unittest.defaultTestLoader.loadTestsFromTestCase(click_on_usercreate.Click_create), unittest.defaultTestLoader.loadTestsFromTestCase(user_data_create.user_data), unittest.defaultTestLoader.loadTestsFromTestCase(click_on_homeButton.SAR), unittest.defaultTestLoader.loadTestsFromTestCase(cluster_data_check.dist_test), unittest.defaultTestLoader.loadTestsFromTestCase(clusters_csv_download.Block_validation), unittest.defaultTestLoader.loadTestsFromTestCase(Home_map.Sel_type), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_school_csv_download.Block_validation), unittest.defaultTestLoader.loadTestsFromTestCase(Check_Cluster_records.Test_Distbllk), unittest.defaultTestLoader.loadTestsFromTestCase(Choose_District_count_Dots.Dist_choose), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_Blocks_Button.Blockbtn_test), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_Blocks_Check_Records.test_blockdetails), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_Clusters.test_cluster), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_CRCreport.test_crc), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_Dash_menu.test_Dashboard), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_District_Block.Test_Distbllk), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_Download_icon.test_download), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_Home_icon.test_homeicon), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_Schools_Btn.school_btn), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_Semester.test_SR), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_TAR.test_TAR), unittest.defaultTestLoader.loadTestsFromTestCase(Cluster_wise_Details.test_cluster), unittest.defaultTestLoader.loadTestsFromTestCase(Invalid_credentials_check.login_test), unittest.defaultTestLoader.loadTestsFromTestCase(Login_and_logout.test_logout), unittest.defaultTestLoader.loadTestsFromTestCase(Login_Negative_test.login_test), unittest.defaultTestLoader.loadTestsFromTestCase(login_test_with_invalid_user.login_test), unittest.defaultTestLoader.loadTestsFromTestCase(login_to_cQube.Login_to_cQube), unittest.defaultTestLoader.loadTestsFromTestCase(login_with_invalid_credentials.login_test), unittest.defaultTestLoader.loadTestsFromTestCase(login_with_invalid_password.login_test), unittest.defaultTestLoader.loadTestsFromTestCase(login_with_invalid_user.Login_test), unittest.defaultTestLoader.loadTestsFromTestCase(login_with_unuser.login_test), unittest.defaultTestLoader.loadTestsFromTestCase(login_with_wrong_user.login_test), unittest.defaultTestLoader.loadTestsFromTestCase(login_with_wrong_user_password.login_test), unittest.defaultTestLoader.loadTestsFromTestCase(login_wrong_credentials.login_test), unittest.defaultTestLoader.loadTestsFromTestCase(Schools_details.school_details), unittest.defaultTestLoader.loadTestsFromTestCase(Url_test.url_test), unittest.defaultTestLoader.loadTestsFromTestCase(Click_on_CRC_Districts.test_crc_District), ]) p = pwd() outfile = open(p.get_system_report_path(), "w") runner1 = HTMLTestRunner.HTMLTestRunner( stream=outfile, title='Test Report', verbosity=1, description='System Test Result ' ) runner1.run(system_test)
def check_csv_download(self): p = pwd() self.cal = GetData() self.fname = file_extention() self.driver.implicitly_wait(60) self.driver.find_element_by_xpath(Data.hyper_link).click() self.cal.page_loading(self.driver) select_district = Select( self.driver.find_element_by_name('myDistrict')) select_block = Select(self.driver.find_element_by_name('myBlock')) select_cluster = Select(self.driver.find_element_by_name('myCluster')) count = 0 for x in range( int(len(select_district.options)) - 1, int(len(select_district.options))): select_district.select_by_index(x) self.cal.page_loading(self.driver) for y in range( len(select_block.options) - 1, len(select_block.options)): select_block.select_by_index(y) self.cal.page_loading(self.driver) for z in range(1, len(select_cluster.options)): select_cluster.select_by_index(z) self.cal.page_loading(self.driver) nodata = self.driver.find_element_by_id("errMsg").text if nodata == "No data found": print(select_district.options[x].text, select_block.options[y].text, select_cluster.options[z].text, "no data found!") count = count + 1 else: self.driver.find_element_by_id(Data.Download).click() time.sleep(3) self.filename = p.get_download_dir( ) + '/' + self.fname.crc_clusterwise() if not os.path.isfile(self.filename): print(select_cluster.options[z].text, " csv file not downloaded") else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) tschools = 0 vsts = 0 vstd = 0 for row in csv.reader(fin): tschools += int(row[0]) vsts += int(row[2]) vstd += int(row[1]) totalschools = self.driver.find_element_by_id( "schools").text visited = self.driver.find_element_by_id( "visited").text visits = self.driver.find_element_by_id( "visits").text tsc = re.sub('\D', "", totalschools) vs = re.sub('\D', "", visits) vd = re.sub('\D', "", visited) if int(tsc) != tschools: print(select_district.options[x].text, ":", "total no of schools :", tschools, int(tsc), "records are mismatch found") count = count + 1 if int(vs) != vsts: print(select_district.options[x].text, ":", "total no of visits :", int(vs), vsts, "records are mismatch found") count = count + 1 if int(vd) != vstd: print(select_district.options[x].text, ":", "total no of visits :", int(vd), vstd, "records are mismatch found") count = count + 1 self.remove_csv1() return count
def check_download_csv1(self): p = pwd() self.cal = GetData() self.fname = file_extention() self.driver.implicitly_wait(100) self.driver.find_element_by_xpath(Data.hyper_link).click() self.cal.page_loading(self.driver) select_district = Select(self.driver.find_element_by_id('choose_dist')) select_block = Select(self.driver.find_element_by_id('choose_block')) select_cluster = Select( self.driver.find_element_by_id('choose_cluster')) count = 0 for x in range( int(len(select_district.options)) - 1, int(len(select_district.options))): select_district.select_by_index(x) self.cal.page_loading(self.driver) for y in range( len(select_block.options) - 1, len(select_block.options)): select_block.select_by_index(y) self.cal.page_loading(self.driver) for z in range(1, len(select_cluster.options)): select_cluster.select_by_index(z) self.cal.page_loading(self.driver) value = self.driver.find_element_by_id( 'choose_cluster').get_attribute('value') cvalue = value[3:] + '_' nodata = self.driver.find_element_by_id("errMsg").text markers = self.driver.find_elements_by_class_name( Data.dots) if len(markers) - 1 == 0: print(select_cluster.options[z].text, "does not contains markers on map") else: self.driver.find_element_by_id(Data.Download).click() time.sleep(3) self.filename = p.get_download_dir( ) + "/" + self.fname.scmap_clusterwise( ) + cvalue.strip() + self.cal.get_current_date( ) + '.csv' print(self.filename) if not os.path.isfile(self.filename): print(select_cluster.options[z].text, "csv file is not downloaded!") else: with open(self.filename) as fin: csv_reader = csv.reader(fin) data = list(csv_reader) countrecords = len(data) # header = next(csv_reader) # total = 0 # for row in csv.reader(fin): # total += int(row[2]) school = self.driver.find_element_by_id( "schools").text sc = re.sub('\D', "", school) if int(sc) != int(countrecords) - 1: print(select_block.options[y].text, "schools:", int(countrecords) - 1, int(sc), "mismatch found") count = count + 1 os.remove(self.filename) return count
def check_district(self): cal = GetData() cal.click_on_state(self.driver) cal.page_loading(self.driver) management = self.driver.find_element_by_id('name').text management = management[16:].lower().strip() period = Select(self.driver.find_element_by_id('period')) period.select_by_index(4) time.sleep(3) self.year, self.month = cal.pat_year_month_firstselected() cal.page_loading(self.driver) select_district = Select(self.driver.find_element_by_id('choose_dist')) count = 0 for x in range( len(select_district.options) - 5, len(select_district.options)): select_district.select_by_index(x) cal.page_loading(self.driver) value = self.driver.find_element_by_id( 'choose_dist').get_attribute('value') value = value[4:] + '_' markers = self.driver.find_elements_by_class_name(Data.dots) time.sleep(3) if (len(markers) - 1) == 0: print("District" + select_district.first_selected_option.text + "no data") count = count + 1 else: self.driver.find_element_by_id('download').click() time.sleep(4) p = pwd() file = file_extention() self.filename = p.get_download_dir( ) + "/" + file.pat_districtwise( ) + management + "_" + self.year + '_' + self.month + '_allGrades__blocks_of_district_' + value.strip( ) + cal.get_current_date() + '.csv' print(self.filename) if not os.path.isfile(self.filename): print("District" + select_district.first_selected_option.text + "csv is not downloaded") count = count + 1 else: values = pd.read_csv(self.filename) school = int(values['Total Schools']) students = int(values['Total Students']) attend = int(values['Students Attended']) schools = self.driver.find_element_by_id('schools').text scs = re.sub('\D', '', schools) student = self.driver.find_element_by_id('students').text stds = re.sub('\D', '', student) attended = self.driver.find_element_by_id( 'studentsAttended').text attds = re.sub('\D', '', attended) if int(scs) != int(school): print( "schools count in footer and csv file records count mismatched", int(scs), int(schools)) count = count + 1 if int(stds) != int(students): print( "student count in footer and csv file records count mismatched", int(scs), int(schools)) count = count + 1 if int(attds) != int(attend): print( "Attended count in footer and csv file records count mismatched", int(scs), int(schools)) count = count + 1 os.remove(self.filename) return count
def check_last_7_days_districts(self): cal = GetData() count = 0 self.fname = file_extention() self.driver.find_element_by_xpath(Data.hyper_link).click() cal.page_loading(self.driver) times = Select(self.driver.find_element_by_id('period')) management = self.driver.find_element_by_id('name').text management = management[16:].lower().strip() for i in range(3, len(times.options)): times.select_by_index(i) timeseries = times.options[i].text timeseries = timeseries.replace(' ', '_') time.sleep(3) select_district = Select( self.driver.find_element_by_id('choose_dist')) count = 0 for x in range(1, len(select_district.options)): select_district.select_by_index(x) cal.page_loading(self.driver) value = self.driver.find_element_by_id( 'choose_dist').get_attribute('value') value = value.split(":") values = value[1].strip() markers = self.driver.find_elements_by_class_name(Data.dots) if (len(markers) - 1) == 0: print("District " + select_district.first_selected_option.text + " no data") count = count + 1 else: self.driver.find_element_by_id('download').click() p = pwd() time.sleep(5) self.filename = p.get_download_dir( ) + "/" + self.fname.pat_districtwise( ) + management + '_' + timeseries.lower( ) + '_allGrades__blocks_of_district_' + values + '_' + cal.get_current_date( ) + '.csv' print(self.filename) if not os.path.isfile(self.filename): print("District " + select_district.first_selected_option.text + " csv is not downloaded") count = count + 1 else: # with open(self.filename) as fin: # csv_reader = csv.reader(fin, delimiter=',') # header = next(csv_reader) # student = 0 # schools = 0 # attended = 0 # for row in csv.reader(fin): # student += int(row[5]) # schools += int(row[7]) # attended += int(row[6]) # print(self.filename, ':', student, schools, attended) data = pd.read_csv(self.filename) student = data['Total Students'].sum() schools = data['Total Schools'].sum() attended = data['Students Attended'].sum() students = self.driver.find_element_by_id( "students").text studs = re.sub('\D', "", students) school = self.driver.find_element_by_id("schools").text sc = re.sub('\D', "", school) attend = self.driver.find_element_by_id( "studentsAttended").text atd = re.sub('\D', "", attend) print('value on footer', student, schools, attended) print('value on csv file', studs, sc, atd) if int(studs) != int(student): print( "District " + select_district.first_selected_option.text + " student count mismatched", int(studs), int(student)) count = count + 1 if int(sc) != int(schools): print( "District " + select_district.first_selected_option.text + " school count mismatched", int(sc), int(schools)) count = count + 1 if int(atd) != int(attended): print( "District " + select_district.first_selected_option.text + " student attended mismatched", int(atd), int(attended)) count = count + 1 os.remove(self.filename) return count
def __init__(self): self.p = pwd()
def check_download_csv1(self): p = pwd() self.cal = GetData() self.driver.implicitly_wait(100) self.driver.find_element_by_xpath(Data.hyper_link).click() self.cal.page_loading(self.driver) select_district = Select(self.driver.find_element_by_id('choose_dist')) select_block = Select(self.driver.find_element_by_id('choose_block')) select_cluster = Select( self.driver.find_element_by_id('choose_cluster')) count = 0 management = self.driver.find_element_by_id('nm').text management = management[16:].lower().strip() self.fname = file_extention() for x in range( int(len(select_district.options)) - 1, int(len(select_district.options))): select_district.select_by_index(x) self.cal.page_loading(self.driver) for y in range( len(select_block.options) - 1, len(select_block.options)): select_block.select_by_index(y) self.cal.page_loading(self.driver) time.sleep(2) for z in range(1, len(select_cluster.options)): select_cluster.select_by_index(z) self.cal.page_loading(self.driver) time.sleep(2) value = self.driver.find_element_by_id( 'choose_cluster').get_attribute('value') # values = value[3:]+'_' value = value.split(":") nodata = self.driver.find_element_by_id("errMsg").text markers = self.driver.find_elements_by_class_name( Data.dots) if len(markers) - 1 == 0: print(select_cluster.options[z].text, "does not contains markers on map") else: self.driver.find_element_by_id(Data.Download).click() time.sleep(3) self.filename = p.get_download_dir( ) + "/" + "UDISE_report_" + management + "_Infrastructure_Score_schools_of_cluster_" + value[ 1].strip() + '_' + self.cal.get_current_date( ) + '.csv' print(self.filename) if not os.path.isfile(self.filename): print(select_district.options[x].text, select_block.options[y].text, select_cluster.options[z].text, "csv file is not downloaded!") count = count + 1 schools = self.driver.find_element_by_id('footer').text sc = re.sub('\D', '', schools) if len(markers) - 1 != int(sc): print( 'Total no of school mis match found with no of markers ', len(markers), sc) count = count + 1 os.remove(self.filename) return count
def test_Issue(self): system_test = unittest.TestSuite() system_test.addTests([ unittest.defaultTestLoader.loadTestsFromTestCase( Click_on_block_cluster_schools.SAROption), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_blocks.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_cluster.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_district.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_schools.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( Click_on_SR_HomeBtn.Home_click), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_level_dots.test_dot_records), unittest.defaultTestLoader.loadTestsFromTestCase( Cluster_to_Dashboard.Dashobard_click), unittest.defaultTestLoader.loadTestsFromTestCase( Dashboard_menu.Dash_menu), unittest.defaultTestLoader.loadTestsFromTestCase( District_clusters.test_cluster), unittest.defaultTestLoader.loadTestsFromTestCase( blockdata_check.Blockdata_validation), unittest.defaultTestLoader.loadTestsFromTestCase( blocks_csv_download.Block_validation), unittest.defaultTestLoader.loadTestsFromTestCase( Blocks_random.District_validation), unittest.defaultTestLoader.loadTestsFromTestCase( Check_district_block.block_validation), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_cqube_login.CqubeLogin), unittest.defaultTestLoader.loadTestsFromTestCase(click_logout.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( Click_on_Semester.test_SR), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_usercreate.Click_create), unittest.defaultTestLoader.loadTestsFromTestCase( user_data_create.user_data), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_homeButton.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( cluster_data_check.dist_test), unittest.defaultTestLoader.loadTestsFromTestCase( clusters_csv_download.Block_validation), unittest.defaultTestLoader.loadTestsFromTestCase( Home_map.Sel_type), unittest.defaultTestLoader.loadTestsFromTestCase( Click_on_school_csv_download.Block_validation), ]) p = pwd() outfile = open(p.get_system_report_path(), "w") runner1 = HTMLTestRunner.HTMLTestRunner( stream=outfile, title='Test Report', verbosity=1, description='System Test Result ') runner1.run(system_test)
def check_csv_download(self): cal = GetData() cal.click_on_state(self.driver) cal.page_loading(self.driver) self.year, self.month = cal.get_student_month_and_year_values() select_district = Select( self.driver.find_element_by_name('myDistrict')) select_block = Select(self.driver.find_element_by_name('myBlock')) count = 0 files = file_extention() for x in range( len(select_district.options) - 3, len(select_district.options)): select_district.select_by_index(x) cal.page_loading(self.driver) for y in range(1, len(select_block.options)): select_block.select_by_index(y) cal.page_loading(self.driver) value = self.driver.find_element_by_name( 'myBlock').get_attribute('value') value = value[4:] + '_' time.sleep(2) markers = self.driver.find_elements_by_class_name(Data.dots) if len(markers) - 1 == 0: print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "No Data") count = count + 1 time.sleep(2) self.driver.find_element_by_id('download').click() time.sleep(5) p = pwd() self.filename = p.get_download_dir( ) + '/' + files.teacher_blockwise_download() + value.strip( ) + self.month + "_" + self.year + '_' + cal.get_current_date( ) + ".csv" print(self.filename) if not os.path.isfile(self.filename): print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "csv is not downloaded") count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) total = 0 schools = 0 for row in csv.reader(fin): total += int(row[7].replace(',', '')) schools += int(row[8].replace(',', '')) students = self.driver.find_element_by_id( "students").text res = re.sub('\D', "", students) school = self.driver.find_element_by_id("schools").text sc = re.sub('\D', "", school) if int(res) != total: print( "District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text, int(res), total, "student count mismatched") count = count + 1 if int(sc) != schools: print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "school count mismatched") count = count + 1 self.remove_csv() return count
def Clusters_select_box(self): self.p = pwd() self.load = GetData() count = 0 management = self.driver.find_element_by_id('nm').text management = management[16:].lower().strip() self.fname = file_extention() self.driver.find_element_by_xpath(Data.hyper_link).click() self.load.page_loading(self.driver) self.year, self.month = self.load.get_pat_month_and_year_values() clust = Select(self.driver.find_element_by_id(Data.cluster_dropdown)) dists = Select(self.driver.find_element_by_id(Data.district_dropdown)) Blocks = Select(self.driver.find_element_by_id(Data.blocks_dropdown)) grade = Select(self.driver.find_element_by_id(Data.grade)) self.load.page_loading(self.driver) for m in range(2, len(grade.options)): grade.select_by_index(m) gradename = grade.options[m].text gradenum = re.sub('\D', '', gradename).strip() self.load.page_loading(self.driver) for i in range(len(dists.options) - 1, len(dists.options)): dists.select_by_index(i) self.load.page_loading(self.driver) for j in range(len(Blocks.options) - 1, len(Blocks.options)): Blocks.select_by_index(j) self.load.page_loading(self.driver) for k in range(1, len(clust.options)): clust.select_by_index(k) self.load.page_loading(self.driver) value = self.driver.find_element_by_id( Data.cluster_dropdown).get_attribute('value') values = value[3:] + '_' self.driver.find_element_by_id(Data.Download).click() time.sleep(3) self.filename = self.p.get_download_dir() + '/' + self.fname.patlo_schools()+management+'_' + gradenum + "_schools_of_cluster_" + values.strip() + self.month + '_' + self.year + '_' + \ self.load.get_current_date() + '.csv' print(self.filename) file = os.path.isfile(self.filename) if file != True: print( clust.options[k].text, 'Cluster wise records csv file is not downloaded' ) count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) data = list(csv_reader) row_count = len(data) os.remove(self.filename) tablecount = self.driver.find_elements_by_tag_name( 'tr') records = int(len(tablecount)) - 2 time.sleep(2) if row_count != records: print( dists.options[i].text, Blocks.options[j].text, clust.options[k].text, "records count mismatch in downloaded file and table records" ) count = count + 1 return count
def setUp(self): dri = pwd() self.driver = webdriver.Chrome(dri.get_driver_path()) self.driver.implicitly_wait(15)
def setUp(self): dri = pwd()
def test_Issue_crc(self): smoke_test = unittest.TestSuite() smoke_test.addTests([ # file name .class name ##CRC Reports unittest.defaultTestLoader.loadTestsFromTestCase( cluster_table_record.test_cluster), unittest.defaultTestLoader.loadTestsFromTestCase( Clusterwise_test.table_recordtest), unittest.defaultTestLoader.loadTestsFromTestCase( CRC_Blockwise.crc_cluster_test), unittest.defaultTestLoader.loadTestsFromTestCase( CRC_distlist.District_list), unittest.defaultTestLoader.loadTestsFromTestCase( CRC_District_Details.crc_report), unittest.defaultTestLoader.loadTestsFromTestCase( CRC_download.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( CRCreports.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( dist_blk_clu.District_recordtest), unittest.defaultTestLoader.loadTestsFromTestCase( Dist_block.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( District_click_all.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( District_wise_file.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( Districtwise_file.Crc_Reports), unittest.defaultTestLoader.loadTestsFromTestCase( Districtwise_validation.dwise_type), unittest.defaultTestLoader.loadTestsFromTestCase( Footer_data.bar_details), unittest.defaultTestLoader.loadTestsFromTestCase( Graph_xaxis_dropdown.Xaxis), unittest.defaultTestLoader.loadTestsFromTestCase(Graph_XY.XYaxis), unittest.defaultTestLoader.loadTestsFromTestCase( Graph_Yaxis.Yaxis), unittest.defaultTestLoader.loadTestsFromTestCase( map_cluster.Map_blocks), unittest.defaultTestLoader.loadTestsFromTestCase( Map_validation1.Map_District), unittest.defaultTestLoader.loadTestsFromTestCase( map_validation2.Map_blocks), unittest.defaultTestLoader.loadTestsFromTestCase( Select_District_validate.District_report), unittest.defaultTestLoader.loadTestsFromTestCase( Select_Type.Sel_type), unittest.defaultTestLoader.loadTestsFromTestCase( TableData_District.Crc_Reports) ]) # html_report_generate_path = Data() p = pwd() outfile = open(p.get_report_path(), "a") runner1 = HTMLTestRunner.HTMLTestRunner(stream=outfile, title='CRC Test Report', verbosity=1, description='Smoke Tests') runner1.run(smoke_test) outfile.close()
def check_districts_csv_download(self): cal = GetData() files = file_extention() cal.click_on_state(self.driver) self.year, self.month = cal.get_student_month_and_year_values() cal.page_loading(self.driver) timeseries = Select(self.driver.find_element_by_id('period')) timeseries.select_by_visible_text(' Year and Month ') select_district = Select( self.driver.find_element_by_name('myDistrict')) count = 0 for x in range( len(select_district.options) - 5, len(select_district.options)): select_district.select_by_index(x) cal.page_loading(self.driver) val = self.driver.find_element_by_name('myDistrict').get_attribute( 'value') distval = val[5:] + '_' markers = self.driver.find_elements_by_class_name(Data.dots) if len(markers) - 1 == 0: print("District" + select_district.first_selected_option.text + "no data") count = count + 1 time.sleep(2) self.driver.find_element_by_id('download').click() time.sleep(2) p = pwd() self.filename = p.get_download_dir( ) + files.student_districtwise_download() + distval.strip( ) + self.month + "_" + self.year + '_' + cal.get_current_date( ) + ".csv" if not os.path.isfile(self.filename): print("District" + select_district.first_selected_option.text + "csv is not downloaded") count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) total = 0 schools = 0 for row in csv.reader(fin): total += int(row[5]) schools += int(row[6]) students = self.driver.find_element_by_id("students").text res = re.sub('\D', "", students) school = self.driver.find_element_by_id("schools").text sc = re.sub('\D', "", school) if int(res) != total: print("District" + select_district.first_selected_option.text + "student count mismatched") count = count + 1 if int(sc) != schools: print("District" + select_district.first_selected_option.text + "school count mismatched") count = count + 1 self.remove_csv() return count
def test_Issue_sar(self, month): smoke_test = unittest.TestSuite() smoke_test.addTests([ # file name .class name #Student Attendance Report unittest.defaultTestLoader.loadTestsFromTestCase( click_on_cqube_login.CqubeLogin), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_blocks.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_cluster.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_schools.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( click_on_homeButton.SAR), unittest.defaultTestLoader.loadTestsFromTestCase( Change_password_Page.Click_on_pwd), unittest.defaultTestLoader.loadTestsFromTestCase( Click_on_Changepassword_without_newPassword.Click_on_pwd), unittest.defaultTestLoader.loadTestsFromTestCase( Click_on_changepwd.Click_ChangePwd), unittest.defaultTestLoader.loadTestsFromTestCase( Negative_changepwd.Click_ChangePwd), unittest.defaultTestLoader.loadTestsFromTestCase( set_new_password.Click_ChangePassword), unittest.defaultTestLoader.loadTestsFromTestCase( Set_up_new_password.Click_ChangePassword), unittest.defaultTestLoader.loadTestsFromTestCase( Invalid_credentials_check.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( Login_and_logout.test_logout), unittest.defaultTestLoader.loadTestsFromTestCase( Login_Negative_test.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_test_with_invalid_user.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_to_cQube.Login_to_cQube), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_invalid_credentials.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_invalid_password.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_invalid_user.Login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_unuser.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_wrong_user.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_with_wrong_user_password.login_test), unittest.defaultTestLoader.loadTestsFromTestCase( login_wrong_credentials.login_test), ]) # html_report_generate_path = Data() p = pwd() outfile = open(p.get_report_path(), "a") runner1 = HTMLTestRunner.HTMLTestRunner(stream=outfile, title=month + 'SAR Test Report', verbosity=1, description='Smoke Tests') runner1.run(smoke_test) outfile.close()
def check_district_block_cluster(self): self.cal = GetData() self.driver.implicitly_wait(50) self.cal.click_on_state(self.driver) self.cal.page_loading(self.driver) select_district = Select(self.driver.find_element_by_id('choose_dist')) select_block = Select(self.driver.find_element_by_id('choose_block')) select_cluster = Select( self.driver.find_element_by_id('choose_cluster')) count = 0 for x in range(1, len(select_district.options)): select_district.select_by_index(x) self.cal.page_loading(self.driver) for y in range(1, len(select_block.options)): select_block.select_by_index(y) self.cal.page_loading(self.driver) for z in range(1, len(select_cluster.options)): select_cluster.select_by_index(z) self.cal.page_loading(self.driver) time.sleep(2) nodata = self.driver.find_element_by_id("errMsg").text markers = self.driver.find_elements_by_class_name( Data.dots) if len(markers) - 1 == 0: print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "No data") count = count + 1 self.driver.find_element_by_id('download').click() time.sleep(3) p = pwd() self.filename = p.get_download_dir( ) + "/School_per_cluster_report.csv" if not os.path.isfile(self.filename): print("District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text + "Cluster" + select_cluster.first_selected_option.text + "csv is not downloaded") count = count + 1 else: with open(self.filename) as fin: csv_reader = csv.reader(fin, delimiter=',') header = next(csv_reader) total = 0 schools = 0 for row in csv.reader(fin): total += int(row[9]) # schools += int(row[5]) students = self.driver.find_element_by_id( "students").text res = re.sub('\D', "", students) # school = self.driver.find_element_by_id("schools").text # sc = re.sub('\D', "", school) if int(res) != total: print("District" + select_district. first_selected_option.text + "Block" + select_block.first_selected_option.text + "student count mismatched") count = count + 1 # if int(sc) != schools: # print( # "District" + select_district.first_selected_option.text + "Block" + select_block.first_selected_option.text ,select_cluster.first_selected_option.text + "school count mismatched") # count = count + 1 self.remove_csv() return count