def test001_Go_IndexPage(self): username = BasePage.read_config()['loginName'] password = BasePage.read_config()['loginPassword'] index_Page = IndexPage(self.driver, self.url) index_Page.goIndexPage() index_Page.click_risk_button() index_Page.input_username_password(username, password) index_Page.click_login_button() sleep(1) index_Page.click_close_prompt_box() # 断言应该配合固件升级前读取的信息 self.assertEqual(index_Page.get_title(), "Xontel")
def setUpClass(cls): print("自动化测试进行中...") cls.driver = webdriver.Chrome() cls.driver.maximize_window() cls.driver.implicitly_wait(10) cls.url = BasePage.read_config()['url'] # 执行前清空之前测试的配置信息 with open('./common/ConfigInfo_UpdateBefore.yaml', mode='w') as f: f.write("")
class FirmwareUpdatePage(BasePage): # 【元素集】 # Maintenance 按钮 maintenance_button = (By.XPATH, "//*[@href='index.php?menu=maintenance']/span") # Firmware Update 按钮 firmware_update_button = ( By.XPATH, "//*[@href='index.php?menu=backup_firmware']/span") # 固件文件 firmware_file = (By.XPATH, "//*[@type='file']") # 选择升级按钮 update_button = (By.XPATH, "//*[@id='sub']") # 确认升级按钮 sure_update_button = (By.XPATH, "//*[@class='layui-layer-btn0']") # 更新提示信息 update_message = (By.XPATH, "//*[@id='mgss']") # 关闭升级失败按钮 update_fail_button = (By.XPATH, "//*[@id='modal-4']/div/div/div[1]/button") # 更新阶段信息 update_phase_message = ( By.XPATH, "//*[@id='modal-4']/div/div/div[2]/div/div[1]/span[1]") # 更新百分比信息 update_percent_message = (By.XPATH, "//*[@id='cent']") # 确认立即重启按钮 reboot_button = (By.XPATH, "//*[@onclick='react(2)']") # 固件路径 firmware_path = os.path.join( os.path.abspath(os.path.join(os.getcwd(), "./Firmware_File")), BasePage.read_config()['firmwareName']) def click_maintenance_button(self): self.click(self.maintenance_button) def click_firmware_update_button(self): self.click(self.firmware_update_button) # 固件升级 def firmware_update(self): self.input_text(self.firmware_file, self.firmware_path) self.click(self.update_button) sleep(1) self.click(self.sure_update_button) sleep(1) # 判断是否更新成功(失败就截图,并终止后面操作) def is_update_success(self): if self.get_element_text( self.update_message) == "Files Upload format error": # 升级失败 sleep(1) self.click(self.update_fail_button) else: # 升级中 while True: sleep(3) update_phase = self.get_element_text(self.update_phase_message) update_percentage = self.get_element_text( self.update_percent_message) print(f"第{update_phase}阶段已经更新{update_percentage}%...") if update_phase == "2" and update_percentage == "95": print("更新成功,请等待系统重启") sleep(8) self.is_click(self.reboot_button) return "success" if self.get_element_text( self.update_message) == "Files Upload format error": # 升级失败 sleep(1) self.click(self.update_fail_button) return "failed" # 升级完成后判断系统是否已经重启 def is_reboot_success(self): if self.is_update_success() == "success": pass