def dotest(driver, url): #降级 if Page_script.open_url(driver, url) == 1: time.sleep(3) else: return 0 if Page_script.login(driver, pw) == 1: time.sleep(3) logging.info("version = %s", Page_script.get_version(driver)) else: return 0 if Page_script.upgrade(driver, old_build, wait) == 1: time.sleep(3) else: return 0 #升级 if Page_script.open_url(driver, url) == 1: time.sleep(3) else: return 0 if Page_script.login(driver, pw) == 1: time.sleep(3) logging.info("version = %s", Page_script.get_version(driver)) else: return 0 if Page_script.upgrade(driver, new_build, wait) == 1: time.sleep(3) else: return 0 #检查升级是否成功 if tools.ping_ok(test_ip): try: ssh.connect(test_ip, 22, "root", pw) this_version = tools.uci_cmd(ssh, uci_sys, ver_flag) if new_version == this_version.strip(): logging.info("test success") return 1 else: logging.info("new_version = " + new_version) logging.info("this_version = " + this_version) return 0 except Exception as e: logging.warning(e) return 0 else: return 0
test_ip = conf.get("upgrade_ip") test_url = 'http://' + test_ip pw = conf.get("admin_pw") new_build = conf.get("new_build") new_version = conf.get("new_version") wait = int(conf.get("wait_time2")) ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) version = '0.0.0.1' cmd1 = 'sed -i "s/DISTRIB_RELEASE=.*/DISTRIB_RELEASE=\\"' cmd2 = '\\"/g" /etc/openwrt_release' cmd = cmd1 + version + cmd2 uci_sys = 'uci show system' ver_flag = 'system.@system[0].ver' fail = 0 for i in range(num): logging.info('====run test==== %s', i + 1) chrome = webdriver.Chrome() if tools.ping_ok(test_ip): if do_test(chrome, test_url) == 1: chrome.quit() else: fail += 1 logging.info("fail times ======== %s", fail) chrome.quit() else: logging.info("===ping host fail===") fail += 1 logging.info("fail times ======== %s", fail) chrome.quit() time.sleep(10)
return 0 if __name__ == '__main__': op = open('testconfig.ini', 'r', encoding='utf-8') conf = tools.get_config(op.readlines()) op.close() logging.info(conf) num = int(conf.get("reset_times")) test_ip = conf.get("reset_ip") test_url = 'http://'+test_ip pw = conf.get("admin_pw") new_ssid = conf.get("new_ssid") old_24ssid = conf.get("old_24ssid") wait_time = int(conf.get("wait_time1")) fail = 0 for i in range(num): logging.info('====run test==== %s', i+1) chrome = webdriver.Chrome() if tools.ping_ok(test_ip) == 1: if dotest(chrome, test_url) == 1: chrome.quit() else: fail += 1 logging.info("fail times ======== %s", fail) chrome.quit() else: logging.info("===ping fail===") fail += 1 logging.info("fail times ======== %s", fail) chrome.quit() time.sleep(10)