def switch_user(self, user_mode):
     '''
     :param: user_mode: e.g. 'admin' or 'user'
     '''
     result = False
     if user_mode == 'admin':
         result = common_function.SwitchThinProMode('admin')
     elif user_mode == 'user':
         result = common_function.SwitchThinProMode('user')
     else:
         self.log.info('invalid user_mode {}'.format(user_mode))
     return result
コード例 #2
0
def set_eth0_speed(ethernet_speed):
    try:
        cf.SwitchThinProMode("admin")
        wired = network_setting.Wired()
        wired.open_network_wired_dialog()
        wired.set_ethernet_speed(speed=ethernet_speed)
        wired.apply()
        log.info("close control panel")
        wired.close_control_panel()
        time.sleep(1)
        s = subprocess.getoutput(
            "mclient --quiet get root/Network/Wired/EthernetSpeed")
        if s == ethernet_speed:
            log.info(
                "set 'Ethernet Speed' is '{}' success".format(ethernet_speed))
            return True
        else:
            log.error(
                "set 'Ethernet Speed' is '{}' fail".format(ethernet_speed))
            return False
    except:
        log.error(traceback.format_exc())
        pyautogui.screenshot(
            cf.get_current_dir(
                "Test_Report/check_speed_{}.png".format(ethernet_speed)))
        return False
def step_2_2():
    log.info("start check wireless after reboot")
    cf.SwitchThinProMode("admin")
    wireless = network_setting.Wireless()
    for i in range(24):
        log.info("wait connect wireless...")
        time.sleep(5)
        if wireless.check_wireless_connected():
            log.info("wireless is connected")
            break
    else:
        log.error("connect wireless time out")
        return [False, "connect wireless time out"]

    if not wait_element(pic("_systray_connect")):
        log.error("not found the wireless systray icon")
        pyautogui.screenshot(
            cf.get_current_dir(
                "Test_Report/ssid_disable_and_enable_wireless_error.png"))
        return [False, "not found the wireless systray icon"]
    log.info("found the wireless systray icon")

    wireless.open_network()
    wireless.switch_to_wireless_tab()
    if not wait_element(pic("_black_add_gray_edit_del"), rate=0.99):
        log.error("not found the black add and edit delete")
        return [False, "not found the black add and edit delete"]
    log.info("found the black add and edit delete")
    wireless.close_control_panel()
    restore()
    # log.info("{:+^80}".format("test case pass"))
    return [True, "success"]
def userlock_is_1(**kwargs):
    report_file = kwargs.get("report_file")
    case_name = kwargs.get("case_name")
    hostname = get_default_hostname()
    log.info("{:-^80}".format("start a case test"))
    log.info("case name:" + case_name)

    cf.SwitchThinProMode("admin")
    modify_hostname_registry("asdfgh")
    wired = network_setting.Wired()
    wired_connection_mode = subprocess.getoutput(
        "mclient --quiet get root/Network/Wired/Method")
    if wired_connection_mode is not "Automatic":
        subprocess.call(
            "mclient --quiet set root/Network/Wired/Method 'Automatic'",
            shell=True)
        subprocess.call("mclient commit", shell=True)
        for i in range(20):
            log.info("wait connect network...")
            time.sleep(2)
            if wired.check_wired_is_connected():
                log.info("wired is connected")
                break
    set_userlock("1")
    export_profile()

    if not set_static_network():
        log.error("set static network error")
        report = {
            'step_name': 'set static network',
            'result': 'fail',
            'expect': "set static network success",
            'actual': "set static network fail",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        teardown_test_environment()
        modify_hostname_registry(hostname)
        cf.import_profile()
        os.remove(cf.get_current_dir("Test_Data/profile_file.xml"))
        log.error("{:+^80}".format("test case fail"))
        return False
    import_profile()
    log.info("reboot")
    time.sleep(30)
def step_1_2(**kwargs):
    case_name = kwargs.get("case_name")
    report_file = kwargs.get("report_file")
    ssid = kwargs.get("ssid")
    log.info("{:-^80}".format("start a case test"))
    log.info("case name:" + case_name)

    cf.SwitchThinProMode("admin")
    wireless = network_setting.Wireless()
    wireless.close_control_panel()
    if not wireless.check_wireless_card():
        try:
            wireless.restore_wireless()
        except Exception as e:
            log.error(traceback.print_exc())
            traceback.print_exc()
            raise e
        finally:
            wireless.close_control_panel()
        time.sleep(3)
        if not wireless.check_wireless_card():
            log.error("not found the wireless card on thin client")
            report = {
                'step_name': 'check wireless card',
                'result': 'fail',
                'expect': "thin client has wireless card",
                'actual': "not found wireless card on thin client",
                'note': ''
            }
            cf.update_cases_result(report_file, case_name, report)
            log.error("{:+^80}".format("test case fail"))
            wireless.restore_wireless()
            return False
    ssid_list = [
        "R1-Linux-5N_thinpro_store", "R1-Linux-5N_ssl_store", "R1-Linux-AC"
    ]
    if ssid in ssid_list:  # import ROOTCA.cer
        if not cf.import_cert():
            log.error("import cert fail")
            report = {
                'step_name': 'import cert',
                'result': 'fail',
                'expect': "import cert success",
                'actual': "import cert fail",
                'note': ''
            }
            cf.update_cases_result(report_file, case_name, report)
            log.error("{:+^80}".format("test case fail"))
            wireless.restore_wireless()
            return False
    if ssid == "R1-Linux-2.4N":
        folder = subprocess.getoutput("ls /media")
        rootca_path = os.path.join("/media", folder, "Certs", "ROOTCA.cer")
        cert_8021x = os.path.join("/media", folder, "Certs", "802.1X.pfx")
        if not os.path.exists(rootca_path) or not os.path.exists(cert_8021x):
            log.error(
                "not found the cert 'ROOTCA.cer' or '802.1X.pfx' in /media/{}/Certs"
                .format(format(folder)))
            report = {
                'step_name': "check cert 'ROOTCA.cer' and '802.1X.pfx'",
                'result': 'fail',
                'expect': "found 'ROOTCA.cer' and '802.1X.pfx' in USB store",
                'actual':
                "not found the cert 'ROOTCA.cer' or '802.1X.pfx' in /media/.../Certs",
                'note': ''
            }
            cf.update_cases_result(report_file, case_name, report)
            log.error("{:+^80}".format("test case fail"))
            wireless.restore_wireless()
            return False

    wired = network_setting.Wired()
    if wired.check_wired_is_connected():
        wired.set_wired_and_wireless_simultaneously()
        wired.disable_eth0()

    wireless.del_wireless_profile_from_reg()
    con_res = connect_wireless(wireless=wireless, ssid=ssid)
    if con_res is False or con_res:  # connect wireless
        log.error("add wireless {} profile fail".format(ssid))
        wireless.close_control_panel()
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        if not wired.check_wired_is_connected():
            wired.enable_eth0()
            log.info("wait connect wired")
            time.sleep(10)
        report = {
            'step_name': 'add wireless ' + ssid + ' profile fail',
            'result': 'fail',
            'expect': "connect wireless success",
            'actual': "connect wireless fail, time out",
            'note': f'{con_res}'
        }
        cf.update_cases_result(report_file, case_name, report)
        wireless.restore_wireless()
        return False

    for i in range(24):
        log.info("wait connect wireless {}...".format(ssid))
        time.sleep(5)
        if wireless.check_wireless_connected():
            log.info("wireless connect success")
            break
    else:
        log.error("connect wireless time out")
        report = {
            'step_name': 'connect wireless',
            'result': 'fail',
            'expect': "connect wireless success",
            'actual': "connect wireless fail, time out",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        wired.enable_eth0()
        log.error("{:+^80}".format("test case fail"))
        wireless.restore_wireless()
        return False
    report = {
        'step_name': 'connect wireless',
        'result': 'Pass',
        'expect': "connect wireless success",
        'actual': "connect wireless success",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)
    log.info('Wait 30 seconds to stabilize the network')
    time.sleep(30)
    if not network.ping_server(ip="15.83.240.98"):  # ping 15.83.240.98
        report = {
            'step_name': 'ping "15.83.240.98"',
            'result': 'fail',
            'expect': "ping server success",
            'actual': "ping server fail",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        wired.enable_eth0()
        log.error("{:+^80}".format("test case fail"))
        wireless.restore_wireless()
        return False
    report = {
        'step_name': 'ping "15.83.240.98"',
        'result': 'pass',
        'expect': "ping server success",
        'actual': "ping server success",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)
    log.info("start reboot")
    os.system("reboot")
    time.sleep(60)
def step_3_4(**kwargs):
    case_name = kwargs.get("case_name")
    report_file = kwargs.get("report_file")
    ssid = kwargs.get("ssid")
    log.info("check wireless status after reboot")
    cf.SwitchThinProMode("admin")
    wireless = network_setting.Wireless()
    wired = network_setting.Wired()
    for i in range(24):
        if wireless.check_wireless_connected():
            log.info("wireless auto connect success after reboot")
            break
        log.info("wait connect wireless {}...".format(ssid))
        time.sleep(5)
    else:
        log.error("connect wireless time out")
        report = {
            'step_name': 'check wireless status',
            'result': 'fail',
            'expect': "wireless auto connect success after reboot",
            'actual': "wireless auto connect fail after reboot",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        wired.enable_eth0()
        log.error("{:+^80}".format("test case fail"))
        wireless.restore_wireless()
        return False
    report = {
        'step_name': 'check wireless status',
        'result': 'pass',
        'expect': "wireless auto connect success after reboot",
        'actual': "wireless auto connect success after reboot",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)

    log.info("start delete the wireless profile")
    wireless.del_wireless_profile_from_reg()
    log.info("wait wireless disconnect")
    time.sleep(10)
    if wireless.check_wireless_connected():
        log.error("wireless connected")
        report = {
            'step_name': 'check wireless status',
            'result': 'fail',
            'expect': "wireless is disconnect after delete wireless profile",
            'actual': "wireless is connect after delete wireless profile",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wired.set_wired_connection_priority()
        wired.enable_eth0()
        log.error("{:+^80}".format("test case fail"))
        wireless.restore_wireless()
        return False
    report = {
        'step_name': 'check wireless status',
        'result': 'pass',
        'expect': "wireless is disconnect after delete wireless profile",
        'actual': "wireless is disconnect after delete wireless profile",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)
    wired.set_wired_connection_priority()
    if not wired.check_wired_is_connected():
        log.info("wired is not connected")
        wired.enable_eth0()
        time.sleep(20)
    log.info("{:+^80}".format("test case pass"))
    return True
コード例 #7
0
 def __init__(self, protocol_name, bypass_setting=False):
     self.protocol = protocol_name
     self.bypass_setting = bypass_setting
     self.dns = network_setting.DNS()
     self.tp = common_function.SwitchThinProMode('admin')
def start(case_name, **kwargs):
    log = Logger()
    log.info("{:-^80}".format("start a case test"))
    log.info("case name:" + case_name)
    report_file = os.path.join(cf.get_current_dir(), "Test_Report",
                               "{}.yaml".format(cf.check_ip_yaml()))
    cf.new_cases_result(report_file, case_name)
    session = "win10"
    root_password = '******'
    user_password = '******'
    time.sleep(0.5)

    log.info(" -------------------------------------------step 1")
    if not step_1(log=log):
        step1_report = {
            'step_name': 'step1',
            'result': 'Fail',
            'expect': 'set screen saver default success',
            'actual': 'set screen saver default fail',
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, step1_report)
        cf.SwitchThinProMode("admin")
        log.error("{:+^80}".format("test case fail"))
        return False
    step1_report = {
        'step_name': 'step1',
        'result': 'Pass',
        'expect': 'set screen saver default and switch to user success',
        'actual': 'set screen saver default and switch to user success',
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, step1_report)

    log.info(" -------------------------------------------step 2")
    result_2 = step_2(log=log, case_name=case_name)
    if not result_2[0]:
        step2_report = {
            'step_name': 'step2',
            'result': 'Fail',
            'expect': 'no need to input any accounts to unlock the screen',
            'actual': 'fail',
            'note': '{}'.format(result_2[1])
        }
        cf.update_cases_result(report_file, case_name, step2_report)
        log.error("{:+^80}".format("test case fail"))
        cf.SwitchThinProMode("admin")
        return False
    step2_report = {
        'step_name': 'step2',
        'result': 'pass',
        'expect': 'no need to input any accounts to unlock the screen',
        'actual': 'success',
        'note': '{}'.format(result_2[1])
    }
    cf.update_cases_result(report_file, case_name, step2_report)

    log.info(" ---------------------------------------------step 3_4")
    result_3_4 = step_3_4(log=log, case_name=case_name)
    if not result_3_4[0]:
        step4_report = {
            'step_name': 'step 3_4',
            'result': 'Fail',
            'expect': 'screen can be unlock by the credentals',
            'actual': 'fail',
            'note': '{}'.format(result_3_4[1])
        }
        cf.update_cases_result(report_file, case_name, step4_report)
        cf.SwitchThinProMode("admin")
        log.error("{:+^80}".format("test case fail"))
        return False
    step4_report = {
        'step_name': 'step 3_4',
        'result': 'pass',
        'expect': 'screen can be unlock by the credentals',
        'actual': 'success',
        'note': '{}'.format(result_3_4[1])
    }
    cf.update_cases_result(report_file, case_name, step4_report)

    log.info(" -------------------------------------------step 5_6")
    result_5_6 = step_5_6(log=log,
                          session=session,
                          root_password=root_password,
                          case_name=case_name)
    if not result_5_6[0]:
        step6_report = {
            'step_name':
            'step 5_6',
            'result':
            'fail',
            'expect':
            "'user' is not in the locked accounts, 'root' can not unlock the remote session,"
            " screen can be unlock by the credentials",
            'actual':
            'fail',
            'note':
            '{}'.format(result_5_6[1])
        }
        cf.update_cases_result(report_file, case_name, step6_report)
        cf.SwitchThinProMode("admin")
        log.error("{:+^80}".format("test case fail"))
        return False
    step6_report = {
        'step_name':
        'step 5_6',
        'result':
        'pass',
        'expect':
        "'user' is not in the locked accounts, 'root' can not unlock the remote session,"
        " screen can be unlock by the credentials",
        'actual':
        'success',
        'note':
        '{}'.format(result_5_6[1])
    }
    cf.update_cases_result(report_file, case_name, step6_report)

    log.info("-------------------------------------------step 7_8")
    result_7_8 = step_7_8(log=log,
                          user_password=user_password,
                          case_name=case_name)
    if not result_7_8[0]:
        step8_report = {
            'step_name': 'step 7_8',
            'result': 'fail',
            'expect': "'user' account can unlock the screen",
            'actual': 'fail',
            'note': '{}'.format(result_7_8[1])
        }
        cf.update_cases_result(report_file, case_name, step8_report)
        os.system("mclient --quiet set root/screensaver/lockScreenUser 0"
                  )  # disable require password for general users
        os.system("mclient commit")
        cf.SwitchThinProMode("admin")
        log.error("{:+^80}".format("test case fail"))
        return False
    step8_report = {
        'step_name': 'step 7_8',
        'result': 'pass',
        'expect': "'user' account can unlock the screen",
        'actual': 'success',
        'note': '{}'.format(result_7_8[1])
    }
    cf.update_cases_result(report_file, case_name, step8_report)

    log.info(" ------------------------------------------- step 9")
    result_9 = step_9(log=log,
                      user_password=user_password,
                      case_name=case_name)
    if not result_9[0]:
        step9_report = {
            'step_name': 'step9',
            'result': 'fail',
            'expect':
            "both 'user' and the login account can unlock the screen",
            'actual': 'fail',
            'note': '{}'.format(result_9[1])
        }
        cf.update_cases_result(report_file, case_name, step9_report)
        os.system("mclient --quiet set root/screensaver/lockScreenUser 0"
                  )  # disable require password for general users
        os.system("mclient commit")
        cf.SwitchThinProMode("admin")
        log.error("{:+^80}".format("test case fail"))
        return False
    step9_report = {
        'step_name': 'step9',
        'result': 'pass',
        'expect': "both 'user' and the login account can unlock the screen",
        'actual': 'success',
        'note': '{}'.format(result_9[1])
    }
    cf.update_cases_result(report_file, case_name, step9_report)

    os.system("mclient --quiet set root/screensaver/lockScreenUser 0"
              )  # disable require password for general users
    os.system("mclient commit")
    log.info("test case pass")
    cf.SwitchThinProMode("admin")
    log.info("{:+^80}".format("this case test over"))
    return True
コード例 #9
0
def start(case_name, **kwargs):
    log = Logger()
    log.info("{:-^80}".format("start a case test"))
    log.info("case name:" + case_name)
    report_file = os.path.join(cf.get_current_dir(), "Test_Report", "{}.yaml".format(cf.check_ip_yaml()))
    cf.new_cases_result(report_file, case_name)
    time.sleep(0.5)

    platform = subprocess.getoutput("hptc-hwsw-id --hw")
    if "mt" not in platform:
        log.error("dtc can't run this case")
        step1 = {'step_name': 'check current platform',
                 'result': 'Fail',
                 'expect': '',
                 'actual': '',
                 'note': 'current platform is not mtc, skip the case'}
        cf.update_cases_result(report_file, case_name, step1)
        log.info("{:+^70}".format("this case test over"))
        time.sleep(1)
        return False
    cf.SwitchThinProMode(switch_to="user")
    time.sleep(2)
    if not power_manager_factory.PowerManager.open_power_manager_from_tray():
        step1 = {'step_name': 'step1',
                 'result': 'Fail',
                 'expect': 'in user mode, open the power manager from the system tray success',
                 'actual': 'open the power manager from the system tray fail',
                 'note': ''}
        cf.update_cases_result(report_file, case_name, step1)
        log.info("{:+^70}".format("this case test over"))
        time.sleep(1)
        return False
    step1 = {'step_name': 'step1',
             'result': 'Pass',
             'expect': 'in user mode, open the power manager from the system tray success',
             'actual': 'open the power manager from the system tray success',
             'note': ''}
    cf.update_cases_result(report_file, case_name, step1)
    os.system("wmctrl -c 'Control Panel'")
    time.sleep(1)

    cf.SwitchThinProMode(switch_to="admin")
    time.sleep(2)
    if not power_manager_factory.PowerManager.open_power_manager_from_tray():
        step2 = {'step_name': 'step2',
                 'result': 'Fail',
                 'expect': 'in admin mode, open the power manager from the system tray success',
                 'actual': 'open the power manager from the system tray fail',
                 'note': ''}
        cf.update_cases_result(report_file, case_name, step2)
        log.info("{:+^70}".format("this case test over"))
        time.sleep(1)
        return False
    step2 = {'step_name': 'step2',
             'result': 'Pass',
             'expect': 'in admin mode, open the power manager from the system tray success',
             'actual': 'open the power manager from the system tray success',
             'note': ''}
    cf.update_cases_result(report_file, case_name, step2)
    time.sleep(1)
    os.system("wmctrl -c 'Control Panel'")       # close control panel

    log.info("{:+^70}".format("this case test over"))
    time.sleep(1)
    return True
def userlock_is_0_after_reboot(**kwargs):
    report_file = kwargs.get("report_file")
    case_name = kwargs.get("case_name")
    hostname = get_default_hostname()

    cf.SwitchThinProMode("admin")
    if get_hostname_registry() != "asdfgh":
        log.error("hostname not is 'asdfgh'")
        report = {
            'step_name': 'check hostname after import profile',
            'result': 'fail',
            'expect': "hostname is 'asdfgh'",
            'actual': "hostname not is 'asdfgh'",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        cf.import_profile()
        teardown_test_environment()
        modify_hostname_registry(hostname)
        os.remove(cf.get_current_dir("Test_Data/profile_file.xml"))
        log.error("{:+^80}".format("test case fail"))
        return False
    log.info("hostname is 'asdfgh'")
    report = {
        'step_name': 'check hostname after import profile',
        'result': 'pass',
        'expect': "hostname is 'asdfgh'",
        'actual': "hostname is 'asdfgh'",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)

    connection_mode = subprocess.getoutput(
        "mclient --quiet get root/Network/Wired/Method")
    ip_list = get_static_network_value()
    if connection_mode == "Static" or ip_list.count(
            "") != 3:  # check mode and static ip
        log.error(
            "the network setting of profile not restore after import profile")
        final_report = {
            'step_name': 'userLock is 0 and after import profile',
            'result': 'fail',
            'expect':
            "network connection mode is 'Automatic', and clear static ip",
            'actual':
            "network connection mode not is 'Automatic', or not clear static ip",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, final_report)
        cf.import_profile()
        teardown_test_environment()
        modify_hostname_registry(hostname)
        os.remove(cf.get_current_dir("Test_Data/profile_file.xml"))
        log.error("{:+^80}".format("test case fail"))
        return False

    log.info("the network setting of profile has restore after import profile")
    final_report = {
        'step_name': 'userLock is 0 and after import profile',
        'result': 'Pass',
        'expect':
        "network connection mode is 'Automatic', and clear static ip",
        'actual':
        "network connection mode is 'Automatic', and clear static ip",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, final_report)
    cf.import_profile()
    modify_hostname_registry(hostname)
    os.remove(cf.get_current_dir("Test_Data/profile_file.xml"))
    log.info("{:+^80}".format("test case pass"))
    return True
def userlock_is_0(**kwargs):
    report_file = kwargs.get("report_file")
    case_name = kwargs.get("case_name")
    hostname = get_default_hostname()

    cf.SwitchThinProMode("admin")
    if get_hostname_registry() != "asdfgh":
        log.error("hostname not is 'asdfgh'")
        report = {
            'step_name': 'check hostname after import profile',
            'result': 'fail',
            'expect': "hostname is 'asdfgh'",
            'actual': "hostname not is 'asdfgh'",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        teardown_test_environment()
        modify_hostname_registry(hostname)
        cf.import_profile()
        os.remove(cf.get_current_dir("Test_Data/profile_file.xml"))
        log.error("{:+^80}".format("test case fail"))
        return False
    log.info("hostname is 'asdfgh'")
    report = {
        'step_name': 'check hostname after import profile',
        'result': 'pass',
        'expect': "hostname is 'asdfgh'",
        'actual': "hostname is 'asdfgh'",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)

    connection_mode = subprocess.getoutput(
        "mclient --quiet get root/Network/Wired/Method")
    ip_list = get_static_network_value()
    if connection_mode != "Static" or ip_list.count(
            "") == 3:  # check mode and static ip
        log.error(
            "connection mode and static ip info has modified after import profile"
        )
        report = {
            'step_name': 'userLock is 1 and after import profile',
            'result': 'fail',
            'expect':
            "check connection mode is static and static ip not has clear",
            'actual':
            "check connection mode not is static or static ip has clear",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        cf.import_profile()
        teardown_test_environment()
        modify_hostname_registry(hostname)
        os.remove(cf.get_current_dir("Test_Data/profile_file.xml"))
        log.error("{:+^80}".format("test case fail"))
        return False
    log.info(
        "connection mode and static ip info not modified after import profile")
    report = {
        'step_name': 'userLock is 1 and after import profile',
        'result': 'pass',
        'expect':
        "check connection mode is static and static ip not has clear",
        'actual':
        "check connection mode is static and static ip not has clear",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)

    log.info("set userLock=0 and test again")  # set userLock = 0
    teardown_test_environment()
    set_userlock("0")
    export_profile()
    set_static_network()
    wired = network_setting.Wired()
    for i in range(20):
        log.info("wait wired connect...")
        time.sleep(2)
        if wired.check_wired_is_connected():
            log.info("wired is connected")
            break
    else:
        log.error("connect wired time out")
        report = {
            'step_name': 'connect wired',
            'result': 'fail',
            'expect': "connect wired success after set static ip",
            'actual': "connect wired time out",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        cf.import_profile()
        teardown_test_environment()
        modify_hostname_registry(hostname)
        os.remove(cf.get_current_dir("Test_Data/profile_file.xml"))
        log.error("{:+^80}".format("test case fail"))
        return False
    import_profile()
    log.info("reboot")
    time.sleep(30)
def step_1(**kwargs):
    case_name = kwargs.get("case_name")
    log.info("{:-^80}".format("start a case test"))
    log.info("case name: " + case_name)
    log.info("start prepare the pre_condition")
    wireless = network_setting.Wireless()  # check wireless card
    if not wireless.check_wireless_card():
        try:
            restore_wireless()
        except Exception as e:
            log.error(traceback.print_exc())
            traceback.print_exc()
        finally:
            wireless.close_control_panel()
        time.sleep(3)
        if not wireless.check_wireless_card():
            log.error("not found wireless card on thin client")
            return [
                False,
                "found wireless card  but not found wlan0 on thin client"
            ]

    wired = network_setting.Wired()
    if wired.check_wired_is_connected():
        log.info("wired is connected")
        wired.set_wired_and_wireless_simultaneously()
        wired.disable_eth0()
        time.sleep(2)

    wireless.del_wireless_profile_from_reg()
    log.info("start connect wireless 'R1-TC_5G_n'")
    cf.SwitchThinProMode("admin")
    wireless.open_network()
    wireless.switch_to_wireless_tab()
    wireless.add(ssid="R1-TC_5G_n")
    wireless.apply_and_ok()
    wireless.apply()
    wireless.close_control_panel()
    for i in range(24):
        log.info("wait connect wireless...")
        time.sleep(5)
        if wireless.check_wireless_connected():
            log.info("wireless has connected")
            break
    else:
        log.error("connect wireless time out")
        wireless.set_wired_connection_priority()
        wired.enable_eth0()
        return [False, "connect wireless time out"]

    log.info("start test case-----------------------------")
    log.info("start disable wireless")
    wireless.open_network()
    wireless.switch_to_wireless_tab()
    wireless.disable_wireless()  # disable wireless
    wireless.apply()
    add_edit_del = wait_element(pic("_gray_add_edit_del"), rate=0.99)
    if not add_edit_del:
        log.error("add, edit, delete not is gray")
        restore_wireless()
        return [False, "add, edit, delete not is gray"]
    log.info("add, edit, delete is gray")
    wireless.close_control_panel()
    if wireless.check_wireless_connected():
        log.error("wireless is connected")
        restore_wireless()
        return [False, "wireless is connected"]
    log.info("wireless is disconnected")
    if wait_element(pic("_systray_not_connect")):
        log.error("systray wireless icon is exist")
        restore_wireless()
        return [False, "systray wireless icon is exist"]
    wlan0 = subprocess.getoutput("ifconfig | grep -i wlan0")
    if wlan0:
        log.error("found the 'wlan0' use command 'ifconfig'")
        restore_wireless()
        return [False, "found the 'wlan0' use command 'ifconfig'"]
    log.info("systray wireless icon is not exist")
    log.info("start reboot")
    return [True, "step_1 test pass"]
def step_2_1():
    log.info("start step-1_2------------------------")
    cf.SwitchThinProMode("admin")
    wireless = network_setting.Wireless()
    log.info("start check whether wireless is connected after reboot")
    if wireless.check_wireless_connected():
        log.error("wireless is connected after reboot")
        return [
            False, "Known issues: At Condition(disable eth0) and Reboot, "
            "you can find wlan0 in terminal use command: ifconfig"
        ]
    log.info("wireless is disconnected after reboot")

    log.info("start check wireless systray icon")
    if wait_element(pic("_systray_not_connect")):
        log.error("found the wireless systray icon")
        return [False, "found the wireless systray icon"]
    log.info("not found the wireless systray icon")

    log.info("start check add, edit and delete button")
    wireless.open_network()
    wireless.switch_to_wireless_tab()
    if not wait_element(pic("_gray_add_edit_del"), rate=0.99):
        log.error("add, edit and delete button is not gray")
        return [False, "add, edit and delete button is not gray"]
    log.info("add, edit and delete button is gray")
    log.info("start step 2-------------------------")
    wireless.enable_wireless()
    wireless.apply()
    log.info("start check add, edit and delete button")
    if not wait_element(pic("_black_add_gray_edit_del"), rate=0.99):
        log.error("not found the black add and edit delete")
        return [False, "not found the black add and edit delete"]
    log.info("found the black add and edit delete")
    wireless.close_control_panel()

    for i in range(24):
        log.info("wait connect wireless...")
        time.sleep(5)
        if wireless.check_wireless_connected():
            log.info("wireless is connected")
            break
    else:
        log.error("connect wireless time out")
        return [False, "connect wireless time out"]

    if not wait_element(pic("_systray_connect")):
        log.warning("not found the wireless systray icon")
        pyautogui.screenshot(
            cf.get_current_dir(
                "Test_Report/ssid_disable_and_enable_wireless_error.png"))
        log.info("start check wireless use command and process")
        wlan0 = subprocess.getoutput("ifconfig | grep -i wlan0")
        if not wlan0:
            log.info("not found the 'wlan0' use command 'ifconfig'")
            return [
                False,
                "not found the wireless systray icon and the 'wlan0' use command 'ifconfig'"
            ]
        log.info("found the wlan0 use ifconfig")
        network_systray_icon_process = subprocess.getoutput(
            "ps -ef | grep 'hptc-network-mgr-systray'")
        if not network_systray_icon_process:
            log.error("not found the 'hptc-network-mgr-systray' process")
            return [
                False,
                "not found the wireless systray icon and 'hptc-network-mgr-systray' process"
            ]
        log.info("found the 'hptc-network-mgr-systray' process")
    log.info("found the wireless systray icon")
    log.info("start reboot")
    return [True, "step 2 success"]
コード例 #14
0
def start(case_name, **kwargs):
    ssid = kwargs.get("ssid", "R1-TC_2.4G_n_WPA2P")
    report_file = os.path.join(cf.get_current_dir(), "Test_Report",
                               "{}.yaml".format(cf.check_ip_yaml()))
    cf.new_cases_result(report_file, case_name)

    log.info("{:-^80}".format("start a case test"))
    log.info("case name:" + case_name)

    wireless = network_setting.Wireless()
    if not wireless.check_wireless_card():
        log.error("not found the wireless card on thin client")
        report = {
            'step_name': 'check wireless card',
            'result': 'fail',
            'expect': "thin client has wireless card",
            'actual': "not found wireless card on thin client",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        log.error("{:+^80}".format("test case fail"))
        return False

    cf.SwitchThinProMode("admin")
    wireless.close_control_panel()
    wired = network_setting.Wired()
    if wired.check_wired_is_connected():
        wired.set_wired_and_wireless_simultaneously()
        wired.disable_eth0()

    wireless.del_wireless_profile_from_reg()

    if not connect_wireless(ssid=ssid):  # connect wireless
        log.error("add wireless {} profile fail".format(ssid))
        wireless.close_control_panel()
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        if not wired.check_wired_is_connected():
            wired.enable_eth0()
            log.info("wait connect wired")
            time.sleep(10)
        report = {
            'step_name': 'add wireless ' + ssid + ' profile fail',
            'result': 'fail',
            'expect': "connect wireless success",
            'actual': "connect wireless fail, time out",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        return False

    for i in range(24):
        log.info("wait connect wireless...")
        time.sleep(5)
        if wireless.check_wireless_connected():
            log.info("wireless connect success")
            break
    else:
        log.error("connect wireless time out")
        report = {
            'step_name': 'connect wireless',
            'result': 'fail',
            'expect': "connect wireless success",
            'actual': "connect wireless fail, time out",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        log.error("{:+^80}".format("test case fail"))
        return False
    report = {
        'step_name': 'connect wireless',
        'result': 'Pass',
        'expect': "connect wireless success",
        'actual': "connect wireless success",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)

    if not network.ping_server(ip="15.83.240.98"):  # ping 15.83.240.98
        report = {
            'step_name': 'ping "15.83.240.98"',
            'result': 'fail',
            'expect': "ping server success",
            'actual': "ping server fail",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        log.error("{:+^80}".format("test case fail"))
        return False
    report = {
        'step_name': 'ping "15.83.240.98"',
        'result': 'pass',
        'expect': "ping server success",
        'actual': "ping server success",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)

    log.info("set 'root/Network/disableLeftClickMenu' is 0")
    for i in range(2):
        os.system("mclient --quiet set root/Network/disableLeftClickMenu 0")
        time.sleep(2)
        os.system("mclient commit")
        time.sleep(5)
        disableLeftvalue = os.system(
            "mclient --quiet get root/Network/disableLeftClickMenu")
        if disableLeftvalue == 0:
            log.info("disableLeftvalue edit successful")
            break
        else:
            log.info("disableLeftvalue edit fail")
            continue
    time.sleep(1)

    if not stop_network():  # stop network
        report = {
            'step_name': 'stop network',
            'result': 'fail',
            'expect': "stop network from network systray icon success",
            'actual': "stop network from network systray icon fail",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        os.system("mclient --quiet set root/Network/disableLeftClickMenu 1")
        os.system("mclient commit")
        log.error("{:+^80}".format("test case fail"))
        return False
    report = {
        'step_name': 'stop network',
        'result': 'pass',
        'expect': "stop network from network systray icon success",
        'actual': "stop network from network systray icon success",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)

    if not start_network():  # start network
        report = {
            'step_name': 'start network',
            'result': 'fail',
            'expect': "start network from network systray icon success",
            'actual': "start network from network systray icon fail",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        os.system("mclient --quiet set root/Network/disableLeftClickMenu 1")
        os.system("mclient commit")
        log.error("{:+^80}".format("test case fail"))
        return False
    report = {
        'step_name': 'start network',
        'result': 'pass',
        'expect': "start network from network systray icon success",
        'actual': "start network from network systray icon success",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)

    if not restart_network():  # start network
        report = {
            'step_name': 'restart network',
            'result': 'fail',
            'expect': "restart network from network systray icon success",
            'actual': "restart network from network systray icon fail",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        os.system("mclient --quiet set root/Network/disableLeftClickMenu 1")
        os.system("mclient commit")
        log.error("{:+^80}".format("test case fail"))
        return False
    report = {
        'step_name': 'restart network',
        'result': 'pass',
        'expect': "restart network from network systray icon success",
        'actual': "restart network from network systray icon success",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)

    log.info("start delete the wireless profile")
    wireless.del_wireless_profile_from_reg()
    log.info("wait wireless disconnect")
    time.sleep(10)
    if wireless.check_wireless_connected():
        log.error("wireless connected")
        report = {
            'step_name': 'check wireless status',
            'result': 'fail',
            'expect': "wireless is disconnect after delete wireless profile",
            'actual': "wireless is connect after delete wireless profile",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, report)
        wired.set_wired_connection_priority()
        os.system("mclient --quiet set root/Network/disableLeftClickMenu 1")
        os.system("mclient commit")
        log.error("{:+^80}".format("test case fail"))
        return False
    report = {
        'step_name': 'check wireless status',
        'result': 'pass',
        'expect': "wireless is disconnect after delete wireless profile",
        'actual': "wireless is disconnect after delete wireless profile",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, report)
    wired.set_wired_connection_priority()
    os.system("mclient --quiet set root/Network/disableLeftClickMenu 1")
    os.system("mclient commit")
    if not wired.check_wired_is_connected():
        log.info("wired is not connected")
        wired.enable_eth0()
        time.sleep(20)
    log.info("{:+^80}".format("test case pass"))
    return True
コード例 #15
0
def start(case_name, **kwargs):
    log.info("{:-^80}".format("start a case test"))
    log.info("case name:" + case_name)
    report_file = os.path.join(cf.get_current_dir(), "Test_Report",
                               "{}.yaml".format(cf.check_ip_yaml()))
    cf.new_cases_result(report_file, case_name)
    before = subprocess.getoutput(
        "mclient --quiet get root/Network/userLockEngaged")
    log.info("current userLockEngaged value {}".format(before))

    wired = network_setting.Wired()
    wireless = network_setting.Wireless()

    if not wireless.check_wireless_card():  # check wireless card
        log.error("not found the wireless card on thinpro")
        pre_check_report = {
            'step_name': 'pre_check',
            'result': 'Fail',
            'expect': 'ThinPro has wireless card',
            'actual': 'not found the wireless card on thin client',
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, pre_check_report)
        log.error("{:+^80}".format("test case fail"))
        return False
    wireless.del_wireless_profile_from_reg()
    if wired.check_wired_is_connected():  # check wired connected
        log.info("wired is connected")
        wired.set_wired_and_wireless_simultaneously()
        wired.disable_eth0()
        time.sleep(3)

    value = subprocess.getoutput(
        "mclient --quiet get root/Network/EncryptWpaConfig"
    )  # step 1-------------
    if int(value) != 1:
        log.error("the default value of 'network/EncryptWpaConfig' not is '1'")
        step_1_report = {
            'step_name': 'check value of "root/Network/EncryptWpaConfig"',
            'result': 'Fail',
            'expect': 'the value of "root/Network/EncryptWpaConfig" is 1',
            'actual': 'the value of "root/Network/EncryptWpaConfig" not is 1',
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, step_1_report)
        wired.set_wired_connection_priority()
        log.error("{:+^80}".format("test case fail"))
        return False
    log.info("the default value of 'network/EncryptWpaConfig' is '1'")
    step_1_report = {
        'step_name': 'check value of "root/Network/EncryptWpaConfig"',
        'result': 'Pass',
        'expect': 'the value of "root/Network/EncryptWpaConfig" is 1',
        'actual': 'the value of "root/Network/EncryptWpaConfig" is 1',
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, step_1_report)

    log.info("start connect a wireless ap")  # step 2-------------
    cf.SwitchThinProMode("admin")
    wireless.open_network()
    wireless.switch_to_wireless_tab()
    wireless.add(ssid="R1-Linux-disconnect")
    # wireless.add(ssid="R1-TC_5G_n")
    wireless.apply_and_ok()
    wireless.apply()
    wireless.close_control_panel()

    for i in range(12):
        log.info("wait connect wireless...")
        time.sleep(5)
        if wireless.check_wireless_connected():
            log.info("wireless connected success")
            break
    else:
        log.error("connect wireless time out")
        step_2_report = {
            'step_name': 'connect wireless',
            'result': 'Fail',
            'expect': 'connect wireless success',
            'actual': 'connect wireless fail',
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, step_2_report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        if not wired.check_wired_is_connected():
            wired.enable_eth0()
        log.error("{:+^80}".format("test case fail"))
        return False
    step_2_report = {
        'step_name': 'connect wireless',
        'result': 'Pass',
        'expect': 'connect wireless success',
        'actual': 'connect wireless success',
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, step_2_report)

    password = subprocess.getoutput(
        "cat /etc/wpasupplicant.wireless.wlan0.conf")  # step 3 -------------
    if "neoware1234".lower() in password.lower():
        log.error("wireless password not is encryption")
        step_3_report = {
            'step_name': 'check wireless password profile is encryption',
            'result': 'Fail',
            'expect': 'check wireless password profile is encryption',
            'actual': 'check wireless password profile not is encryption',
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, step_3_report)
        wireless.del_wireless_profile_from_reg()
        wired.set_wired_connection_priority()
        if not wired.check_wired_is_connected():
            wired.enable_eth0()
        log.error("{:+^80}".format("test case fail"))
        return False
    log.info("wireless password is encryption")
    step_3_report = {
        'step_name': 'check wireless password profile is encryption',
        'result': 'Pass',
        'expect': 'check wireless password profile is encryption',
        'actual': 'check wireless password profile is encryption',
        'note': ''
    }
    cf.update_cases_result(report_file, case_name, step_3_report)
    log.info("start reset test environment")
    wireless.del_wireless_profile_from_reg()
    wired.set_wired_connection_priority()
    if not wired.check_wired_is_connected():
        wired.enable_eth0()
    for i in range(20):
        time.sleep(3)
        if wired.check_wired_is_connected():
            break
    after = subprocess.getoutput(
        "mclient --quiet get root/Network/userLockEngaged")
    log.info("after userLockEngaged value {}".format(after))
    if after == before:
        log.info(
            "after and before value are same as,not restore userLockEngaged value"
        )
    else:
        log.info(
            "userLockEngaged Different values ​​before and after operation")
        order = ("mclient --quiet set root/Network/userLockEngaged {}".format(
            before))
        commit = "mclient commit"
        cmd = order + '&&' + commit
        subprocess.getoutput(cmd)
        time.sleep(3)
        log.info("edit userLockEngaged value successful")
    log.info("{:+^80}".format("test case pass"))
    return True
コード例 #16
0
def start(case_name=case_names[0], **kwargs):
    global user, rdp_server
    wait_time = 30
    time_path = common_function.get_current_dir("time_temp.txt")
    log.info("Start Wait {}".format(wait_time))
    if os.path.exists(time_path):
        with open(time_path, "r") as f:
            now_time = f.read()
    else:
        with open(time_path, "w") as f:
            now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
            f.write(now_time)
    current_time = time.time()
    before_time = time.mktime(time.strptime(now_time, "%Y-%m-%d %H:%M:%S"))
    if current_time - before_time > 3600:
        os.remove(time_path)
        common_function.reboot_command()
    common_function.SwitchThinProMode("user")
    query_list = ["xen", 'freerdp', "view", "firefox"]
    shadow_dict = {}
    for i in query_list:
        d = vdi_connection.query_item_id(i)
        shadow_dict.update(d)
    vdi_connection.hide_desktop_icon(id_dict=shadow_dict)
    common_function.cache_collection(3)
    case_name = case_name.lower()
    result_file = os.path.join(common_function.get_current_dir(),
                               r'Test_Report',
                               '{}.yaml'.format(common_function.check_ip_yaml()))
    user_manager = vdi_connection.MultiUserManger()
    performance = Performance.get_system_obj()
    test_data = os.path.join(common_function.get_current_dir(), 'Test_Data')
    # --------------- pre define --------------------------
    log.info('Begin to start test {}'.format(case_name))
    common_function.new_cases_result(result_file, case_name)
    pic_name = generate_pic_name(case_name)
    local_pic_name = generate_local_name(case_name)
    parameters = display_function.analyze_name(case_name)
    parameters = display_function.check_resolution_support(parameters)
    log.info('analyze parameter from case name')
    # display_function.LinuxTools().generate_profile(parameters['layout'], parameters['monitors'])
    display_function.set_display_profile(parameters)
    log.info('generate xml file')
    log.info('set local resolution, Wait 20s for background refresh')
    display_function.LinuxTools().set_local_resolution()
    log.debug("check local resolution set success")
    if not set_resolution_success() and common_function.need_reboot() != -1:
        common_function.change_reboot_status(-1)
        common_function.reboot_command()
    common_function.change_reboot_status(0)
    display_function.set_background()
    log.info('set local background success')
    flag, first_collect_flag = local_start(case_name, result_file, test_data, local_pic_name)
    if not flag:
        return False
    # check fresh rate-----------------------------------------------
    check_fresh_rate(case_name, result_file, parameters)
    # check fresh rate end-------------------------------------------
    user = user_manager.get_a_available_key()
    log.info('get valid user : {}'.format(user))
    remote_collect_flag = False
    try:
        flag, remote_collect_flag = remote_start(case_name, result_file, test_data, pic_name, user_manager, parameters, performance)
    except:
        debug_path = common_function.get_current_dir("Test_Report/debug.log")
        with open(debug_path, "a") as f:
            traceback.print_exc(file=f)
        traceback.print_exc()
        steps = {
            'step_name': 'case exception',
            'result': 'Fail',
            'expect': '',  # can be string or pic path
            'actual': 'img/{}.jpg'.format(case_name),
            'note': traceback.format_exc()}
        common_function.update_cases_result(result_file, case_name, steps)
    finally:
        log.info('try to reset user')
        if user:
            user_manager.reset_key(user)
        if parameters['vdi'].upper() == 'RDP' and rdp_server:
            user_manager.reset_key(rdp_server, key=session.lower())
        if first_collect_flag or remote_collect_flag:
            steps = {
                'step_name': "Cannot find template PIC",
                'result': 'Fail',
                'expect': '',  # can be string or pic path
                'actual': '',
                'note': 'This case has no pic in library'}
            common_function.update_cases_result(result_file, case_name, steps)
        log.debug(gc.garbage)
        gc.collect()
コード例 #17
0
def start(case_name, **kwargs):
    log.info("{:-^80}".format("start a case test"))
    log.info("case name:" + case_name)
    report_file = os.path.join(cf.get_current_dir(), "Test_Report",
                               "{}.yaml".format(cf.check_ip_yaml()))
    cf.new_cases_result(report_file, case_name)

    cf.SwitchThinProMode("admin")
    default_profile = cf.get_current_dir("Test_Data/profile.xml")
    if not os.path.exists(default_profile):
        log.error("not found the default profile")
        check_profie_report = {
            'step_name': 'check default profile file',
            'result': 'Fail',
            'expect': "found default profile file",
            'actual': "not found default profile file",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name, check_profie_report)
        log.error("{:+^80}".format("test case fail"))
        return False
    log.info("found the default profile")
    log.info("start import the default profile")
    cf.import_profile()

    log.info(
        "start check the value of userLockEngaged")  # step 1 -------------
    if userlockengaged_value() is not "0":
        log.error("the default value of userLockEngaged not is '0'")
        check_userLockEngaged_report = {
            'step_name': 'check default profile file',
            'result': 'Fail',
            'expect': "userLockEngaged is '0'",
            'actual': "userLockEngaged not is '0'",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name,
                               check_userLockEngaged_report)
        log.error("{:+^80}".format("test case fail"))
        return False
    log.info("the default value of userLockEngaged is '0'")
    check_userLockEngaged_report = {
        'step_name': 'check default profile file',
        'result': 'Pass',
        'expect': "userLockEngaged is '0'",
        'actual': "userLockEngaged is '0'",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name,
                           check_userLockEngaged_report)
    log.info("start modify the hostname")  # step 2 ---------------
    dns = network_setting.DNS()
    dns.open_dns()
    dns.dns_set_hostname("123456")
    dns.apply()
    dns.close_control_panel()

    log.info("check the value of userLockEngaged again"
             )  # step 3 -------------------
    if userlockengaged_value() is not "1":
        log.error("the value of userLockEngaged not is '1'")
        check_userLockEngaged_report = {
            'step_name': 'check default profile file',
            'result': 'Fail',
            'expect': "userLockEngaged auto changed to '1'",
            'actual': "userLockEngaged not auto changed to '1'",
            'note': ''
        }
        cf.update_cases_result(report_file, case_name,
                               check_userLockEngaged_report)
        cf.import_profile()
        log.error("{:+^80}".format("test case fail"))
        return False
    log.info("the value of userLockEngaged is '1'")
    check_userLockEngaged_report = {
        'step_name': 'check default profile file',
        'result': 'Pass',
        'expect': "userLockEngaged auto changed to '1'",
        'actual': "userLockEngaged auto changed to '1'",
        'note': ''
    }
    cf.update_cases_result(report_file, case_name,
                           check_userLockEngaged_report)
    cf.import_profile()
    wired = network_setting.Wired()
    for i in range(20):
        if wired.check_wired_is_connected():
            break
        time.sleep(2)
    log.info("set 'root/Network/userLockEngaged' is 0")
    os.system("mclient --quiet set root/Network/userLockEngaged 0")
    os.system("mclient commit")
    time.sleep(1)
    log.info("{:+^80}".format("test case pass"))
    return True