def verify_customer_dashboard(self): columns = utils.get_var_details() driver = self.driver driver.get(self.base_url + "/home/login") driver.find_element_by_id("email").clear() driver.find_element_by_id("email").send_keys(columns['email'][0]) driver.find_element_by_id("password").clear() driver.find_element_by_id("password").send_keys(columns['password'][0]) driver.find_element_by_id("btnLogin").click() time.sleep(10) print "Clicking VAR filter dropdown" dropdown = driver.find_element_by_id("varFilter") for option in dropdown.find_elements_by_tag_name("option"): if option.text == columns['var_business_name'][0]: option.click() time.sleep(5) print "Clickin Customers dropdown" dropdown = driver.find_element_by_id("customerFilter") for option in dropdown.find_elements_by_tag_name("option"): if option.text == columns['var_business_name'][1]: option.click() time.sleep(5) for i in range(0, 1): top5_device_id = "top_devices_" + str(i) #Retrieve the name of the client mentioned in the static stats file which is in form of mac name = utils.get_client_name() #Extract last 3 subsets of the mac and compare with that in the Client name griD expected_client_substr = name[-8:] actual_client_name = driver.find_element_by_css_selector('#' + top5_device_id + ' a').get_attribute('innerHTML').strip() print "Actual client name = " +str(actual_client_name) print "Expected Client should contain: " +expected_client_substr if expected_client_substr in actual_client_name: actual_client_traffic = driver.find_element_by_css_selector('#' + top5_device_id + ' div.overviewTableTextSecondary').get_attribute('innerHTML') print "Actual Top 5 Devices traffic = " +str(actual_client_traffic) bytes_rx = utils.get_client_stats("bytes_rx") bytes_tx = utils.get_client_stats("bytes_tx") expected_client_traffic = utils.caluclate_cust_dashboard_top5devices_traffic_kbps(bytes_rx, bytes_tx) print "Expected Top 5 Devices traffic = " +str(expected_client_traffic) self.assertEqual(actual_client_traffic, expected_client_traffic, "Actual traffic of the Top 5 Devices is not same as Expected traffic!") break else: continue for i in range(0, 1): top5_ssid_id = "top_ssid_" + str(i) expected_ssid_name = columns['var_business_name'][2] actual_ssid_name = driver.find_element_by_css_selector('#' + top5_ssid_id + ' a').get_attribute('innerHTML').strip() print "Actual SSID name = " +str(actual_ssid_name) print "Expected SSID name = " +expected_ssid_name if expected_ssid_name == actual_ssid_name: actual_ssid_traffic = driver.find_element_by_css_selector('#' + top5_ssid_id + ' div.overviewTableTextSecondary').get_attribute('innerHTML') print "Actual Top 5 SSIDs traffic = " +str(actual_ssid_traffic) bytes_rx = utils.get_ap_stats("bytes_rx") bytes_tx = utils.get_ap_stats("bytes_tx") expected_ssid_traffic = utils.caluclate_cust_dashboard_top5ssids_traffic_kbps(bytes_rx, bytes_tx) print "Expected Top 5 SSIDs traffic = " +expected_ssid_traffic self.assertEqual(actual_ssid_traffic, expected_ssid_traffic, "Actual traffic of the Top 5 SSIDs is not same as Expected traffic!") break else: continue for i in range(0, 1): top5_ap_id = "top_ap_" + str(i) expected_ap_name = properties.ap_name actual_ap_name = driver.find_element_by_css_selector('#' + top5_ap_id + ' a').get_attribute('innerHTML').strip() print "Actual AP name = " +str(actual_ap_name) print "Expected AP name = " +expected_ap_name if expected_ap_name == actual_ap_name: actual_ap_traffic = driver.find_element_by_css_selector('#' + top5_ap_id + ' div.overviewTableTextSecondary').get_attribute('innerHTML') print "Actual Top 5 APs traffic = " +str(actual_ap_traffic) bytes_rx = utils.get_ap_stats("bytes_rx") bytes_tx = utils.get_ap_stats("bytes_tx") expected_ap_traffic = utils.caluclate_cust_dashboard_top5aps_traffic_kbps(bytes_rx, bytes_tx) print "Expected Top 5 APs traffic = " +expected_ap_traffic self.assertEqual(actual_ap_traffic, expected_ap_traffic, "Actual traffic of the Top 5 APs is not same as Expected traffic!") break else: continue
def verify_apdetails_page(self): columns = utils.get_var_details() driver = self.driver driver.get(self.base_url + "/home/login") driver.find_element_by_id("email").clear() driver.find_element_by_id("email").send_keys(columns['email'][0]) driver.find_element_by_id("password").clear() driver.find_element_by_id("password").send_keys(columns['password'][0]) driver.find_element_by_id("btnLogin").click() time.sleep(30) print "Clicking VAR filter dropdown" dropdown = driver.find_element_by_id("varFilter") for option in dropdown.find_elements_by_tag_name("option"): if option.text == columns['var_business_name'][0]: option.click() time.sleep(5) print "Clickin Customers dropdown" dropdown = driver.find_element_by_id("customerFilter") for option in dropdown.find_elements_by_tag_name("option"): if option.text == columns['var_business_name'][1]: option.click() time.sleep(5) driver.find_element_by_id("menuAccessPoints").click() time.sleep(30) driver.find_element_by_link_text(properties.ap_name).click() time.sleep(10) #Verify VAR and Locaiton names on AP details page cust_location_name = driver.find_element_by_id("location").get_attribute('innerHTML') #Remove the <br> from the var and location name string for the AP cust_location_name = re.sub('<[^>]*>', '', cust_location_name) print "Actual Customer and Location name = " +str(cust_location_name) expected_cust_name = columns['var_business_name'][1] expected_location_name = columns['var_business_name'][2] expected_cust_location_name = expected_cust_name + expected_location_name print "Expected Var and Location name = " +str(expected_cust_location_name) self.assertEqual(cust_location_name, expected_cust_location_name, "Actual Customer and Location name is not same as expected!") #Verify AP name on the AP details page actual_ap_name = driver.find_element_by_id("apName").get_attribute('innerHTML') print "Actual AP Name = " +str(actual_ap_name) expected_ap_name = properties.ap_name self.assertEqual(actual_ap_name, expected_ap_name, "Actual AP name is not same as expected AP Name!") #Verify manufacturer name on AP details page manufacturer_name = driver.find_element_by_id("manufacture").get_attribute('innerHTML') print "Actual manufacturer of AP = " +str(manufacturer_name) expected_manufacturer = db.search_manufacturer_model_in_ap_collection(properties.ap_name) print "Expected manufacturer of AP = " +str(expected_manufacturer) self.assertEqual(manufacturer_name, expected_manufacturer, "Actual AP manufacturer is not same as expected AP manufacturer!") #Verify client count in the client widget client_widget = driver.find_element_by_id("client_count_value") actual_no_of_clients = client_widget.get_attribute('innerHTML') print "Actual no. of clients = " +str(actual_no_of_clients) expected_no_of_clients = utils.get_client_count() print "Expected no. of clients = " +str(expected_no_of_clients) self.assertEqual(actual_no_of_clients, expected_no_of_clients, "Actual no. of clients are not same as expected no. of clients!") #Verify AP traffic in the traffic guage chart traffic_widget = driver.find_element_by_id("traffic_value") actual_ap_traffic = traffic_widget.get_attribute('innerHTML') print "Actual AP traffic = " +str(actual_ap_traffic) ap_bytes_rx = utils.get_ap_stats("bytes_rx") ap_bytes_tx = utils.get_ap_stats("bytes_tx") expected_ap_traffic_mbps = utils.caluclate_apdetails_page_traffic_mbps(ap_bytes_rx, ap_bytes_tx) print "Expected AP traffic = " +expected_ap_traffic_mbps self.assertEqual(actual_ap_traffic, expected_ap_traffic_mbps, "Actual AP traffic is not same as Expected AP traffic!") #Verify 2.4G radio chan utilization in the guage chart chan_widget_24g = driver.find_element_by_id("utilization24G") chan_uti_24g = chan_widget_24g.get_attribute('innerHTML') print "Actual channel busy = " +str(chan_uti_24g) #Verify 5G radio chan utilization in the guage chart chan_widget_5g = driver.find_element_by_id("utilization5G") chan_uti_5g = chan_widget_5g.get_attribute('innerHTML') print "Actual channel busy = " +str(chan_uti_5g) channel_busy = utils.get_radio_utilization() print "Expected channel_busy = " +channel_busy self.assertEqual(chan_uti_24g, channel_busy, "Actual 24G channel utilization is not same as Expected 24G channel utilization!") self.assertEqual(chan_uti_5g, channel_busy, "Actual 5G channel utilization is not same as Expected 5G channel utilization!") time.sleep(2) for i in range(0, int(actual_no_of_clients)): client_name_id = "CLIENT_NAME_" + str(i) ssid_id = "SSID_" + str(i) usage_id = "USAGE_DATA__Kbps_" + str(i) rssi_id = "SIGNAL_STRENGTH__dBm_" + str(i) #Retrieve the name of the client mentioned in the static stats file which is in form of mac name = utils.get_client_name() #Extract last 3 subsets of the mac and compare with that in the Client name griD expected_client_substr = name[-8:] actual_client_name = driver.find_element_by_id(client_name_id).get_attribute('innerHTML') print "Actual client name = " +str(actual_client_name) print "Expected Client should contain: " +expected_client_substr #If the client matches get the client's rssi, usage and other values and verify them if expected_client_substr in actual_client_name: #Verify Rssi values of client actual_rssi = driver.find_element_by_css_selector("#" + rssi_id + " div").get_attribute('innerHTML') print "Actual Rssi value of the client = " +str(actual_rssi) expected_rssi = utils.get_client_stats("rssi") print "Expected Rssi value of the client = " +expected_rssi self.assertEqual(actual_rssi, expected_rssi, "Actual rssi of the client is not same as Expected rssi!") #Verify Essid values of client actual_essid = driver.find_element_by_id(ssid_id).get_attribute('innerHTML') print "Actual essid of the client = " +str(actual_essid) expected_essid = columns['var_business_name'][2] print "Expected essid of the client = " +str(expected_essid) self.assertEqual(actual_essid, expected_essid, "Actual essid of the client is not same as Expected essid!") #Verify Usage values of client actual_usage = driver.find_element_by_id(usage_id).get_attribute('innerHTML') print "Actual usage of the client = " +str(actual_usage) bytes_rx = utils.get_client_stats("bytes_rx") bytes_tx = utils.get_client_stats("bytes_tx") expected_usage = utils.caluclate_apdetails_page_client_usage_kbps(bytes_rx, bytes_tx) print "Expected usage of the client = " +str(expected_usage) self.assertEqual(int(actual_usage), int(expected_usage), "Actual usage of the client is not same as Expected usage!")
def verify_location_dashboard(self): columns = utils.get_var_details() driver = self.driver driver.get(self.base_url + "/home/login") driver.find_element_by_id("email").clear() driver.find_element_by_id("email").send_keys(columns['email'][0]) driver.find_element_by_id("password").clear() driver.find_element_by_id("password").send_keys(columns['password'][0]) driver.find_element_by_id("btnLogin").click() time.sleep(10) print "Clicking VAR filter dropdown" dropdown = driver.find_element_by_id("varFilter") for option in dropdown.find_elements_by_tag_name("option"): if option.text == columns['var_business_name'][0]: option.click() time.sleep(5) print "Clickin Customers dropdown" dropdown = driver.find_element_by_id("customerFilter") for option in dropdown.find_elements_by_tag_name("option"): if option.text == columns['var_business_name'][1]: option.click() time.sleep(5) print "Clickin Location dropdown" dropdown = driver.find_element_by_id("locationFilter") for option in dropdown.find_elements_by_tag_name("option"): if option.text == columns['var_business_name'][2]: option.click() time.sleep(5) #Verify client count in the client widget client_widget = driver.find_element_by_id("client_count_value") actual_no_of_clients = client_widget.get_attribute('innerHTML') print "Actual no. of clients = " +str(actual_no_of_clients) expected_no_of_clients = utils.get_client_count() print "Expected no. of clients = " +str(expected_no_of_clients) self.assertEqual(actual_no_of_clients, expected_no_of_clients, "Actual no. of clients are not same as expected no. of clients!") #Verify AP traffic in the traffic guage chart traffic_widget = driver.find_element_by_id("traffic_value") actual_ap_traffic = traffic_widget.get_attribute('innerHTML') print "Actual AP traffic = " +str(actual_ap_traffic) ap_bytes_rx = utils.get_ap_stats("bytes_rx") ap_bytes_tx = utils.get_ap_stats("bytes_tx") expected_ap_traffic_mbps = utils.caluclate_loc_dashboard_traffic_mbps(ap_bytes_rx, ap_bytes_tx) print "Expected AP traffic = " +expected_ap_traffic_mbps self.assertEqual(actual_ap_traffic, expected_ap_traffic_mbps, "Actual AP traffic is not same as Expected AP traffic!") #Verify 2.4G radio chan utilization in the guage chart chan_widget_24g = driver.find_element_by_id("utilization24G") chan_uti_24g = chan_widget_24g.get_attribute('innerHTML') print "Actual channel busy = " +str(chan_uti_24g) #Verify 5G radio chan utilization in the guage chart chan_widget_5g = driver.find_element_by_id("utilization5G") chan_uti_5g = chan_widget_5g.get_attribute('innerHTML') print "Actual channel busy = " +str(chan_uti_5g) channel_busy = utils.get_radio_utilization() print "Expected channel_busy = " +channel_busy self.assertEqual(chan_uti_24g, channel_busy, "Actual 24G channel utilization is not same as Expected 24G channel utilization!") self.assertEqual(chan_uti_5g, channel_busy, "Actual 5G channel utilization is not same as Expected 5G channel utilization!") time.sleep(2) for i in range(0, int(actual_no_of_clients)): top5_device_id = "top_devices_" + str(i) #Retrieve the name of the client mentioned in the static stats file which is in form of mac name = utils.get_client_name() #Extract last 3 subsets of the mac and compare with that in the Client name griD expected_client_substr = name[-8:] actual_client_name = driver.find_element_by_css_selector('#' + top5_device_id + ' a').get_attribute('innerHTML').strip() print "Actual client name = " +str(actual_client_name) print "Expected Client should contain: " +expected_client_substr if expected_client_substr in actual_client_name: actual_client_traffic = driver.find_element_by_css_selector('#' + top5_device_id + ' div.overviewTableTextSecondary').get_attribute('innerHTML') print "Actual Top 5 Devices traffic = " +str(actual_client_traffic) bytes_rx = utils.get_client_stats("bytes_rx") bytes_tx = utils.get_client_stats("bytes_tx") expected_client_traffic = utils.caluclate_loc_dashboard_top5devices_traffic_kbps(bytes_rx, bytes_tx) print "Expected Top 5 Devices traffic = " +str(expected_client_traffic) self.assertEqual(actual_client_traffic, expected_client_traffic, "Actual traffic of the Top 5 Devices is not same as Expected traffic!") break else: continue for i in range(0, 1): top5_ssid_id = "top_ssid_" + str(i) expected_ssid_name = columns['var_business_name'][2] actual_ssid_name = driver.find_element_by_css_selector('#' + top5_ssid_id + ' a').get_attribute('innerHTML').strip() print "Actual SSID name = " +str(actual_ssid_name) print "Expected SSID name = " +expected_ssid_name if expected_ssid_name == actual_ssid_name: actual_ssid_traffic = driver.find_element_by_css_selector('#' + top5_ssid_id + ' div.overviewTableTextSecondary').get_attribute('innerHTML') print "Actual Top 5 SSIDs traffic = " +str(actual_ssid_traffic) bytes_rx = utils.get_ap_stats("bytes_rx") bytes_tx = utils.get_ap_stats("bytes_tx") expected_ssid_traffic = utils.caluclate_loc_dashboard_top5ssids_traffic_kbps(bytes_rx, bytes_tx) print "Expected Top 5 SSIDs traffic = " +expected_ssid_traffic self.assertEqual(actual_ssid_traffic, expected_ssid_traffic, "Actual traffic of the Top 5 SSIDs is not same as Expected traffic!") break else: continue for i in range(0, 1): top5_ap_id = "top_ap_" + str(i) expected_ap_name = properties.ap_name actual_ap_name = driver.find_element_by_css_selector('#' + top5_ap_id + ' a').get_attribute('innerHTML').strip() print "Actual AP name = " +str(actual_ap_name) print "Expected AP name = " +expected_ap_name if expected_ap_name == actual_ap_name: actual_ap_traffic = driver.find_element_by_css_selector('#' + top5_ap_id + ' div.overviewTableTextSecondary').get_attribute('innerHTML') print "Actual Top 5 APs traffic = " +str(actual_ap_traffic) bytes_rx = utils.get_ap_stats("bytes_rx") bytes_tx = utils.get_ap_stats("bytes_tx") expected_ap_traffic = utils.caluclate_loc_dashboard_top5aps_traffic_kbps(bytes_rx, bytes_tx) print "Expected Top 5 APs traffic = " +expected_ap_traffic self.assertEqual(actual_ap_traffic, expected_ap_traffic, "Actual traffic of the Top 5 APs is not same as Expected traffic!") break else: continue