示例#1
0
 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")
示例#2
0
 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("")
示例#3
0
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