System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及linux领域,尤其涉及基于ssh的测试。
技术介绍
1、随着计算机技术的快速发展,远程连接技术已成为日常工作中不可或缺的一部分。尤其是在汽车车机与云端服务器相关领域,其底层操作系统大部分为linux。在传统的linux系统中远程连接ssh(secure shell protocol)服务器进行测试时,需要用户手动输入命令、传输文件等操作,容易出错且测试效率低下。而现有的自动化测试工具经常需要二次开发,导致二次开发成本过高,复用性差,也影响测试效率和测试效果。
技术实现思路
1、本公开提供了一种基于ssh的测试方法、装置、设备、存储介质以及车辆。
2、根据本公开的第一方面,提供了一种基于ssh的测试方法。该方法包括:
3、将预先声明的ssh客户端的类进行初始化,得到实例化对象,其中,所述ssh客户端的类包括连接函数、执行函数、连接参数与客户端属性;
4、利用所述连接参数运行所述连接函数,以建立所述客户端属性与ssh服务器之间的连接;
5、运行所述执行函数,以在所述实例化对象与所述ssh服务器之间执行测试任务。
6、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在建立所述客户端属性与ssh服务器之间的连接时,所述方法还包括:
7、捕获连接超时次数;
8、若所述连接超时次数小于最大重连次数,则打印连接异常告警信息;
9、若所述连接超时次数大于或等于所述最大重连次数,则
10、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述ssh客户端的类还包括密钥属性;
11、在建立所述客户端属性与ssh服务器之间的连接时,所述方法还包括:
12、捕获初次连接身份异常信息;
13、若捕获成功,则将所述实例化对象的密钥属性的值改为预设值,其中,所述预设值用于表征所述客户端属性与所述ssh服务器初次连接时需要密钥。
14、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述执行函数包括单次交互方法和会话交互方法;
15、所述运行所述执行函数,以在所述实例化对象与所述ssh服务器之间执行测试任务,包括:
16、从所述测试任务中获取当前交互需求;
17、从所述单次交互方法和所述会话交互方法中调用与所述当前交互需求匹配的交互方法,以在所述实例化对象与所述ssh服务器之间执行交互测试。
18、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述在所述实例化对象与所述ssh服务器之间执行交互测试,包括:
19、若与所述当前交互需求匹配的交互方法包括会话交互方法,则执行所述会话交互方法,以在所述实例化对象与所述ssh服务器之间创建会话通道;
20、在所述会话通道中收发会话信息,以在所述实例化对象与所述ssh服务器之间执行交互测试。
21、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述会话信息包括用于表征对话框结束的标志位,在所述会话通道中收发会话信息时,所述方法还包括:
22、判断所述会话信息是否包括以对话框结束为结尾的标志位;
23、若收到,且当前尾标计数等于零,则执行发送会话信息的操作;
24、若收到且所述当前尾标计数大于零,则关闭所述会话通道;和/或
25、若在所述会话通道中超过预设最大时长仍未接收到会话信息,则关闭所述会话通道。
26、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,
27、所述执行函数包括传输函数;所述传输函数包括:ssh服务器文件下载方法、所述ssh客户端上传至所述ssh服务器的方法和批量文件下载方法中至少一项;
28、所述运行所述执行函数,以在所述实例化对象与所述ssh服务器之间执行测试任务,包括:
29、运行所述传输函数,创建传输通道;
30、通过所述传输通道在所述实例化对象与所述ssh服务器之间执行文件传输测试。
31、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
32、判断所述实例化对象是否包括所述客户端属性;
33、若不包括所述客户端属性,则创建所述客户端属性,并重新执行所述连接函数;
34、和/或
35、若包括所述客户端属性,则判断所述实例化对象与所述ssh服务器之间传输通道是否处于激活状态;
36、若未处于激活状态,则重新执行所述连接函数;
37、和/或
38、若在所述实例化对象与所述ssh服务器之间执行交互测试时,捕获到异常,则重新执行所述连接函数。
39、根据本公开的第二方面,提供了一种基于ssh的测试装置。该装置包括:
40、初始化模块,用于将预先声明的ssh客户端的类进行初始化,得到实例化对象,其中,所述ssh客户端的类包括连接函数、执行函数、连接参数与客户端属性;
41、第一运行模块,用于利用所述连接参数运行所述连接函数,以建立所述客户端属性与ssh服务器之间的连接;
42、第二运行模块,用于运行所述执行函数,以在所述实例化对象与所述ssh服务器之间执行测试任务。
43、根据本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
44、根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面和/或第二方面的方法。
45、根据本公开的第五方面,提供了一种车辆,所述车辆包括如第二方面所述的基于ssh的测试装置和/或如第三方面所述的电子设备。
46、本公开中,将预先声明的ssh客户端的类自动地进行初始化,可得到实例化对象,然后将连接参数传入连接函数中,从而运行连接函数,以建立客户端属性与ssh服务器之间的连接,从而使得ssh客户端与ssh服务器之间建立连接,然后运行该执行函数,从而在实例化对象与所述ssh服务器之间执行测试任务,即在ssh客户端与ssh服务器之间执行测试任务,如此,就能自动地在ssh客户端与ssh服务器之间执行测试,避免需要用户手动输入命令、传输文件等操作,且该测试方法的执行并不需要测试人员二次开发,避免二次开发成本过高,复用性差,提高了测试效率和测试效果。
47、应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
【技术保护点】
1.一种基于SSH的测试方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在建立所述客户端属性与SSH服务器之间的连接时,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述SSH客户端的类还包括密钥属性;
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,所述会话信息包括用于表征对话框结束的标志位,在所述会话通道中收发会话信息时,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
9.一种基于SSH的测试装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括:
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
12.一种车辆,其特征在于,包括:如权利要求9所述的装
...【技术特征摘要】
1.一种基于ssh的测试方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在建立所述客户端属性与ssh服务器之间的连接时,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述ssh客户端的类还包括密钥属性;
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,所述会话信息包括用于表征对话框结束的标志位,在所述会话通道中收发会话信息时,所述方法还包括:
7....
【专利技术属性】
技术研发人员:李琨,
申请(专利权)人:北京罗克维尔斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。