无线终端产品软件自动升级系统及其方法技术方案

技术编号:20024839 阅读:49 留言:0更新日期:2019-01-06 04:04
本发明专利技术公开了通信类电子产品的生产制造领域,具体涉及一种无线终端产品软件自动升级系统及其方法,包括以下步骤:安装python平台;搭建chrome浏览器环境;构建init函数初始化chrome驱动;查看页面元素,并通过捕捉器抓取登入页面的用户名和密码的id;通过页面捕捉器抓取到了子网页是/upgrade.cgi,利用get()函数进入到子网页中,通过find_element_by_css_selector函数将升级文件信息和路径信息自动传入到页面里面,随后处理value值为Upgrade的键,使其进行自动升级,直至升级完成。本发明专利技术解决了由于软件页面数据加密导致抓包方式无法升级的瓶颈,解决传统的curl加wireshark方式无法满足加密产品升级的需求。

【技术实现步骤摘要】
无线终端产品软件自动升级系统及其方法
本专利技术涉及通信类电子产品的生产制造领域,具体涉及一种无线终端产品软件自动升级系统及其方法。
技术介绍
无线终端产品在批量生产完成之后,往往由于种种原因,需要对产品进一步升级功能,完成客户产品功能提升和改善的需求。这就涉及到一个自动化升级程序开发的需求,传统的升级方案是通过curl+wireshark的方式来做升级程序,首先,手动模拟升级过程,将wireshark打开,抓取到整个升级过程的报文,然后通过curl传输工具将升级过程模拟出来,然后再嵌入到平台层,实现平台调用。然而,有时候软件页面的升级过程报文都是加密的,通过curl结合wireshark的方式显然无法完成,因为获取到的都是乱码信息。
技术实现思路
本专利技术的目的在于提供一种无线终端产品软件自动升级系统及其方法,解决软件在审计过程中,如果报文是加密的,则获取的信息是乱码,导致无法显示并升级成功的问题。为解决上述的技术问题,本专利技术采用以下技术方案:一种无线终端产品软件自动升级方法,包括以下步骤:步骤一,安装python平台,并在python平台的基础上搭建selenium编译环境;步骤二,搭建chrome浏览器环境,并根据chrome浏览器版本匹配chromedriver驱动,将chromedriver驱动放在python的安装根目录\Python27下面;步骤三,构建init函数初始化chrome驱动,利用webdriver.Chrome()加载浏览器驱动,用get()打开终端产品的网页;步骤四,网页开启后,查看页面元素,并通过捕捉器抓取登入页面的用户名和密码的id,并通过send_keys函数依次将输入的username和password传递到页面中,并且最后出发login键进入产品网页内部;步骤五,通过页面捕捉器抓取到了子网页是/upgrade.cgi,利用get()函数进入到子网页中,通过find_element_by_css_selector函数将升级文件信息和路径信息自动传入到页面里面,随后处理value值为Upgrade的键,使其进行自动升级,直至升级完成。进一步的技术方案是,所述python平台安装后,将安装的目录添加到系统的环境变量中,打开cmd窗口输入python,显示Python版本信息,则表示安装成功。进一步的技术方案是,在python平台环境下构建selenium编译环境,到\python27\Scripts目录下面,检查是否有pip.exe这个应用程序,如果存在,则打开cmd窗口cd到\python27\Scripts这个目录下面,直接下发指令pipinstallselenium,即安装selenium环境完成。进一步的技术方案是,所述chrome浏览器xp32系统的V49版本。进一步的技术方案是,所述login之后再打开upgrade子页面,time.sleep延时5S以上。进一步的技术方案是,升级成功后,制作另一个python脚本,通过find_element_by_xpath解析器获取符串信息转换成text然后打印出来从而获取到与ID对应的value值,对比该值是否是正确的值即可,正确表明升级成功。进一步的技术方案是,批量升级的方式是:对通信类产品设计实现平台直接调用cmd窗口的send关键字,调用python脚本以及传递参数,send=pythonpy_path"ip""username""password""upgrade_file_path"sleeptime.py_path:py脚本路径(本实例中设定为ontupgrade.py),IP:终端产品(被测物)IP地址,username:产品的网页登入用户名,password:产品的网页登入密码,upgrade_file_path:升级文件所在的路径,sleeptime:升级延时时间(依据实际需要设定)。通过上述send关键字,实现了再cmd下面执行py脚本,从而实现了第一步升级过程;通过ping关键字,检查产品是否升级成功,先ping断,再ping通,即可表明升级成功。进一步的技术方案是,所述升级后检查是否成功的方法是:关键字以及指令传递如下:send=pythonpy_path"ip""username""password",下发指令后,通过find关键字来正则出版本值。例:find=50000,3FE47361AFIB98,表示在50S内抓取软件版本信息是否为3FE47361AFIB98,抓取成功则说明,升级过程完成。与现有技术相比,本专利技术的有益效果是:本专利技术基于网络爬虫的思想,结合SPC技术(S:Selenium,P:Python,C:Chrome),开发一种模拟键盘和鼠标操作的自动化升级程序,无论软件报文信息是否加密或者做了限制处理,都可以采用该方式实现自动升级。并且将该升级程序嵌入到生产测试平台中,真正实现了批量自动化。Selenium是一个用于Web应用程序测试的工具,通过编写模仿用户操作的Selenium测试脚本,可以从终端用户的角度来测试应用程序,并且结合python开发环境以及chrome浏览器驱动,实现三方互动,达到自动化应用的效果。附图说明图1为本专利技术系统连接图。图2为本专利技术流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1和图2示出了本专利技术无线终端产品软件自动升级方法的一个实施例:一种无线终端产品软件自动升级方法,包括以下步骤:步骤一,安装python平台,并在python平台的基础上搭建selenium编译环境;步骤二,搭建chrome浏览器环境,并根据chrome浏览器版本匹配chromedriver驱动,同样需要注意32位和64位系统的差异。需要特别注意的是chromedriver驱动需要和浏览器的版本需要一一对应,具体可以查看Github官网或者csdn中都有对应版本驱动,照着需要的版本下载即可,将chromedriver驱动放在python的安装根目录\Python27下面;步骤三,构建init函数初始化chrome驱动,利用webdriver.Chrome()加载浏览器驱动,用get()打开终端产品的网页;步骤四,网页开启后,查看页面元素,并通过捕捉器抓取登入页面的用户名和密码的id,并通过send_keys函数依次将输入的username和password传递到页面中,并且最后出发login键进入产品网页内部;步骤五,通过页面捕捉器抓取到了子网页是/upgrade.cgi,利用get()函数进入到子网页中,通过find_element_by_css_selector函数将升级文件信息和路径信息自动传入到页面里面,随后处理value值为Upgrade的键,使其进行自动升级,直至升级完成。值得注意的是:注意32位系统和64位系统的区别,操作位数不一样,下载的软件也不一样,安装完之后将安装的目录添加到系统的环境变量中。根据本专利技术无线终端产品软件自动升级方法的优选实施例:本专利技术中可以在所述python平台安装后,将安装的目录添加到系统的本文档来自技高网...

【技术保护点】
1.一种无线终端产品软件自动升级方法,包括以下步骤:步骤一,安装python平台,并在python平台的基础上搭建selenium编译环境;步骤二,搭建chrome浏览器环境,并根据chrome浏览器版本匹配chromedriver驱动,将chromedriver驱动放在python的安装根目录\Python27下面;步骤三,构建init函数初始化chrome驱动,利用webdriver.Chrome()加载浏览器驱动,用get()打开终端产品的网页;步骤四,网页开启后,查看页面元素,并通过捕捉器抓取登入页面的用户名和密码的id,并通过send_keys函数依次将输入的username和password传递到页面中,并且最后出发login键进入产品网页内部;步骤五,通过页面捕捉器抓取到了子网页是/upgrade.cgi,利用get()函数进入到子网页中,通过find_element_by_css_selector函数将升级文件信息和路径信息自动传入到页面里面,随后处理value值为Upgrade的键,使其进行自动升级,直至升级完成。

【技术特征摘要】
1.一种无线终端产品软件自动升级方法,包括以下步骤:步骤一,安装python平台,并在python平台的基础上搭建selenium编译环境;步骤二,搭建chrome浏览器环境,并根据chrome浏览器版本匹配chromedriver驱动,将chromedriver驱动放在python的安装根目录\Python27下面;步骤三,构建init函数初始化chrome驱动,利用webdriver.Chrome()加载浏览器驱动,用get()打开终端产品的网页;步骤四,网页开启后,查看页面元素,并通过捕捉器抓取登入页面的用户名和密码的id,并通过send_keys函数依次将输入的username和password传递到页面中,并且最后出发login键进入产品网页内部;步骤五,通过页面捕捉器抓取到了子网页是/upgrade.cgi,利用get()函数进入到子网页中,通过find_element_by_css_selector函数将升级文件信息和路径信息自动传入到页面里面,随后处理value值为Upgrade的键,使其进行自动升级,直至升级完成。2.根据权利要求1所述的无线终端产品软件自动升级方法,其特征在于:所述python平台安装后,将安装的目录添加到系统的环境变量中,打开cmd窗口输入python,显示Python版本信息,则表示安装成功。3.根据权利要求1所述的无线终端产品软件自动升级方法,其特征在于:在python平台环境下构建selenium编译环境,到\python27\Scripts目录下面,检查是否有pip.exe这个应用程序,如果存在,则打开cmd窗口cd到\python27\Scripts这个目录下面,直接下发指令pipinstallselenium,即安装selenium环境完成。4.根据权利要求1所述的无线终端产品软件自动升级方法,其特征在于:所述chrome浏览...

【专利技术属性】
技术研发人员:王海刘立刚黄亮
申请(专利权)人:太仓市同维电子有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1