本技术涉及系统测试,特别涉及一种数据库连接方法及装置、电子设备、存储介质。
背景技术:
1、由于当前企业的数据库中会存储有企业的许多重要的业务信息以及客户信息等,因此企业的数据库在整个企业的层次来说是非常重要的,所以保护数据库中的数据安全,避免他人随意连接数据库尤为重要。
2、通常为了保证数据库的安全,企业的数据库都会设置有账号以及密码。而在测试过程中经常会出现需要用到数据库的相关测试,所以需要经常连接数据库。而最简单的方式就是直接向测试人员提供数据库ip、账号以及密码等信息,以能让测试人员利用这些数据直接连接数据库,但是这种方式容易导致账号以及密码等信息泄露。所以另一种方式则是通过管理数据库的运维人员,在测试需要连接数据库时,由其进行信息录入,并连接数据库。但是由于测试相对较多,所以这种方式较为繁琐,且效率相对较低。
3、所以可见现有连接数据库的方式,无法有效地在保证数据库的安全性的前提下,保证测试的高效进行。
技术实现思路
1、基于上述现有技术的不足,本技术提供了一种数据库连接方法及装置、电子设备、存储介质,以解决现有技术无法在保证数据库的安全的前提下,保证测试的高效性的问题。
2、为了实现上述目的,本技术提供了以下技术方案:
3、本技术第一方面提供了一种数据库连接方法,包括:
4、当用户在jmeter端的页面上输入测试信息并调用目标jar包时,获取所述用户在jmeter端的页面上输入的所述测试信息,并传入所述目标jar包中;其中,所述测试信息至少包括数据库加密账号信息及其对应的加密方法信息;
5、根据所述加密方法信息判断所述数据库加密账号信息是否属于可解密信息;
6、若根据所述加密方法信息判断出所述数据库加密账号信息属于可解密信息,则利用所述加密方法信息指示的加密算法对所述数据库加密账号信息进行解密,得到数据库解密数据账号信息;
7、利用所述数据库解密数据账号信息连接待连接数据库;
8、若根据所述加密方法信息判断出所述数据库加密账号信息不属于可解密信息,则利用所述数据库加密账号信息以及所述待连接数据库的账号加密信息连接所述待连接数据库;其中,所述待连接数据库的账号加密信息为对所述待连接数据库的账号铭文信息进行加密得到的信息。
9、可选地,在上述的数据库连接方法中,所述利用所述数据库解密数据账号信息连接待连接数据库,包括:
10、获取所述待连接数据库的账号铭文信息;
11、对比所述数据库解密数据账号信息与待连接数据库的账号铭文信息是否一致;
12、若对比出所述数据库解密数据账号信息与待连接数据库的账号铭文信息一致,则连接所述待连接数据库。
13、可选地,在上述的数据库连接方法中,所述利用所述数据库加密账号信息以及所述待连接数据库的账号加密信息连接所述待连接数据库,包括:
14、获取所述待连接数据库的账号铭文信息;
15、利用所述加密方法信息指示的加密算法对所述待连接数据库的账号铭文信息进行加密,得到所述待连接数据库的账号加密信息;
16、对比所述数据库解密数据账号信息与所述待连接数据库的账号加密信息是否一致;
17、若对比出所述数据库解密数据账号信息与所述待连接数据库的账号加密信息一致,则连接所述待连接数据库。
18、可选地,在上述的数据库连接方法中,还包括:
19、基于所述测试信息中的sql脚本信息在所述待连接数据中执行查询脚本,得到当前查询数据;
20、基于所述当前查询数据进行接口断言,得到执行结果;
21、将所述执行结果写入所述jmeter端的响应数据中,并将所述jmeter端的响应数据反馈给所述jmeter端。
22、可选地,在上述的数据库连接方法中,所述基于所述当前查询数据进行接口断言,得到执行结果,包括:
23、若所述当前查询数据为属于未加密数据,则利用所述当前查询数据进行对比分析,得到所述执行结果;
24、若所述当前查询数据属于已加密数据,则对所述当前查询数据进行解密;
25、利用解密后的所述当前查询数据进行对比分析,得到所述执行结果。
26、本技术第二方面提供了一种数据库连接装置,包括:
27、参数获取单元,用于当用户在jmeter端的页面上输入测试信息并调用目标jar包时,获取所述用户在jmeter端的页面上输入的所述测试信息,并传入所述目标jar包中;其中,所述测试信息至少包括数据库加密账号信息及其对应的加密方法信息;
28、第一判断单元,用于根据所述加密方法信息判断所述数据库加密账号信息是否属于可解密信息;
29、第一解密单元,用于在根据所述加密方法信息判断出所述数据库加密账号信息属于可解密信息时,利用所述加密方法信息指示的加密算法对所述数据库加密账号信息进行解密,得到数据库解密数据账号信息;
30、第一连接单元,用于利用所述数据库解密数据账号信息连接待连接数据库;
31、第二连接单元,用于在根据所述加密方法信息判断出所述数据库加密账号信息不属于可解密信息时,利用所述数据库加密账号信息以及所述待连接数据库的账号加密信息连接所述待连接数据库;其中,所述待连接数据库的账号加密信息为对所述待连接数据库的账号铭文信息进行加密得到的信息。
32、可选地,在上述的数据库连接装置中,所述第一连接单元,包括:
33、第一获取单元,用于获取所述待连接数据库的账号铭文信息;
34、第一对比单元,用于对比所述数据库解密数据账号信息与待连接数据库的账号铭文信息是否一致;
35、第一连接子单元,用于在对比出所述数据库解密数据账号信息与待连接数据库的账号铭文信息一致时,连接所述待连接数据库。
36、可选地,在上述的数据库连接装置中,所述第二连接单元,包括:
37、第二获取单元,用于获取所述待连接数据库的账号铭文信息;
38、加密单元,用于利用所述加密方法信息指示的加密算法对所述待连接数据库的账号铭文信息进行加密,得到所述待连接数据库的账号加密信息;
39、第二对比单元,用于对比所述数据库解密数据账号信息与所述待连接数据库的账号加密信息是否一致;
40、第二连接子单元,用于在对比出所述数据库解密数据账号信息与所述待连接数据库的账号加密信息一致时,连接所述待连接数据库。
41、可选地,在上述的数据库连接装置中,还包括:
42、查询单元,用于基于所述测试信息中的sql脚本信息在所述待连接数据中执行查询脚本,得到当前查询数据;
43、执行单元,用于基于所述当前查询数据进行接口断言,得到执行结果;
44、反馈单元,用于将所述执行结果写入所述jmeter端的响应数据中,并将所述jmeter端的响应数据反馈给所述jmeter端。
45、可选地,在上述的数据库连接装置中,所述执行单元,包括:
46、第一分析单元,用于在所述当前查询数据为属于未加密数据时,利用所述当前查询数据进行对比分析,得到所述执行结果;
47、第二解密单元,用于在所述当前查询数据属于已加密数据时,对所述当前查询数据进行解密;
48、第二分析单元,用于利用解密后的所述当前查询数据进行对比分析,得到所述执行结果。
49、本技术第三方面提供了一种电子设备,包括:
50、存储器和处理器;
51、其中,所述存储器用于存储程序;
52、所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如上述任意一项所述的数据库连接方法。
53、本技术第四方面提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一项所述的数据库连接方法。
54、本技术提供了一种数据库连接方法,在测试工具jmeter端中开发了连接数据库的信息的输入界面,当用户在jmeter端的页面上输入测试信息并调用目标jar包时,获取用户在jmeter端的页面上输入的测试信息,并传入目标jar包中。其中,测试信息至少包括数据库加密账号信息及其对应的加密方法信息,根据加密方法信息判断数据库加密账号信息是否属于可解密信息。若根据加密方法信息判断出数据库加密账号信息属于可解密信息,则利用加密方法信息指示的加密算法对数据库加密账号信息进行解密,得到数据库解密数据账号信息,并利用数据库解密数据账号信息连接待连接数据库。若根据加密方法信息判断出数据库加密账号信息不属于可解密信息,则利用数据库加密账号信息以及待连接数据库的账号加密信息连接待连接数据库。其中,待连接数据库的账号加密信息为对待连接数据库的账号铭文信息进行加密得到的信息。从而基于jar包实现了一种可以利用加密数据连接数据库的方法,从而可以向测试人员提供加密的数据库的账号信息进行测试,可以有效保证测试的效率,也可以有效避免数据库的账号的信息的泄露。