CN116150037B - 一种在用例中管理用户登录状态的方法及装置 - Google Patents

一种在用例中管理用户登录状态的方法及装置 Download PDF

Info

Publication number
CN116150037B
CN116150037B CN202310416716.9A CN202310416716A CN116150037B CN 116150037 B CN116150037 B CN 116150037B CN 202310416716 A CN202310416716 A CN 202310416716A CN 116150037 B CN116150037 B CN 116150037B
Authority
CN
China
Prior art keywords
cookie
value
login
user
use case
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310416716.9A
Other languages
English (en)
Other versions
CN116150037A (zh
Inventor
苑书荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Accumulus Technologies Tianjin Co Ltd
Original Assignee
Accumulus Technologies Tianjin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Accumulus Technologies Tianjin Co Ltd filed Critical Accumulus Technologies Tianjin Co Ltd
Priority to CN202310416716.9A priority Critical patent/CN116150037B/zh
Publication of CN116150037A publication Critical patent/CN116150037A/zh
Application granted granted Critical
Publication of CN116150037B publication Critical patent/CN116150037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种在用例中管理用户登录状态的方法及装置,方法包括:在用例运行前,获取用例中的cookie字段的值;cookie字段的值为维护用例的测试人员的用户ID;根据用户ID在cookie数据库表中,查找与用户ID所对应的用户相关信息;判断cookie值是否为空;如果是,则调用登录平台,以获取新的cookie值以及新的cookie值的过期时间;如果否,则判断cookie值是否过期;若过期,则调用登录平台,以获取新的cookie值以及新的cookie值的过期时间;若未过期,则将cookie字段的值替换为cookie值;运行已替换cookie字段的值的用例,以实现自动化用例中在不依赖重复调用登录接口、不依赖手工登录的情况下,保证用户的登录态,以保障自动化用例的正常运行。

Description

一种在用例中管理用户登录状态的方法及装置
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种在用例中管理用户登录状态的方法及装置。
背景技术
软件测试过程中,通常需要执行大量的自动化用例,涉及到核心业务逻辑的自动化用例均需要校验用户的登录状态,即用户必须登录之后,自动化用例才能执行成功。目前,相关技术中,通常是通过cookie来辨别用户身份。常用的解决方法为:每条自动化用例执行之前先执行登录用例,获取到登录成功后的cookie,将该cookie加入到后续需要执行的自动化用例的请求头中,保证后续需要执行的自动化用例保持在登录状态。
该方法存在如下缺点:若要保证每条用例执行成功,必须先执行登录用例,且每次在自动化用例执行前,均需先执行登录用例,步骤繁琐、效率较低且耗费资源。
发明内容
本发明实施例提供一种在用例中管理用户登录状态的方法及装置,以解决相关技术中,若要保证每条涉及到核心业务逻辑的用例执行成功,必须先执行登录用例,且每次在自动化用例执行前,均需先执行登录用例,步骤繁琐、效率较低且耗费资源的技术问题。
第一方面,本发明实施例提供一种在用例中管理用户登录状态的方法,所述方法应用于测试环境中,所述方法包括:
在用例运行前,获取所述用例中的cookie字段的值;其中,所述cookie字段的值为维护所述用例的测试人员的用户ID;
根据所述用户ID在cookie数据库表中,查找与所述用户ID所对应的用户相关信息;其中,所述用户相关信息包括以下至少一项:登录平台、cookie值、cookie值的过期时间;
判断所述cookie值是否为空;
如果是,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;
如果否,则判断所述cookie值是否过期;若过期,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;
若未过期,则将所述cookie字段的值替换为所述cookie值;
运行已替换cookie字段的值的用例。
优选地,在运行已替换cookie字段的值的用例之后,所述方法还包括:
若运行失败;则判断运行失败的原因是否为当前cookie字段的值无效;
如果是,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间。
优选地,在调用所述登录平台,以获取新的cookie值以及所述新的cookie值的过期时间之后,所述方法还包括:
将所述新的cookie值以及所述新的cookie值的过期时间存储至所述cookie数据库表中,替换所述cookie数据库表中,原有的cookie值和原有的cookie值的过期时间;
重新执行所述根据所述用户ID在cookie数据库表中,查找与所述用户ID所对应的用户相关信息的步骤。
优选地,在调用所述登录平台,以获取新的cookie值以及所述新的cookie值的过期时间之后,所述方法还包括:
将所述cookie字段的值替换为所述新的cookie值;
执行所述运行已替换cookie字段的值的用例的步骤。
优选地,所述用户相关信息还包括:登录地址、登录请求方式和登录请求参数;
调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间包括:
调用所述登录平台的登录接口;
将所述登录地址、所述登录请求方式、所述登录请求参数发送至所述登录接口;
获取所述登录接口返回的新的cookie值以及新的cookie值的过期时间。
优选地,在用例运行前,获取所述用例中的cookie字段的值之前,所述方法还包括:
接收用户输入的配置信息;
将所述配置信息保存至所述cookie数据库表中;
其中,所述配置信息包括以下至少一项:用户ID、用户名称、登录平台、登录地址、登录请求方式、登录请求参数。
第二方面,本发明实施例提供一种在用例中管理用户登录状态的装置,所述装置应用于测试环境中,所述装置包括:
获取模块,用于在用例运行前,获取所述用例中的cookie字段的值;其中,所述cookie字段的值为维护所述用例的测试人员的用户ID;
查找模块,用于根据所述用户ID在cookie数据库表中,查找与所述用户ID所对应的用户相关信息;其中,所述用户相关信息包括以下至少一项:登录平台、cookie值、cookie值的过期时间;
判断模块,用于判断所述cookie值是否为空;如果是,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;如果否,则判断所述cookie值是否过期;若过期,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;若未过期,则将所述cookie字段的值替换为所述cookie值;
运行模块,用于运行已替换cookie字段的值的用例。
优选地,所述判断模块,还用于在运行已替换cookie字段的值的用例之后,若运行失败;则判断运行失败的原因是否为当前cookie字段的值无效;如果是,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间。
优选地,所述装置还包括:
替换模块,用于在调用所述登录平台,以获取新的cookie值以及所述新的cookie值的过期时间之后,将所述新的cookie值以及所述新的cookie值的过期时间存储至所述cookie数据库表中,替换所述cookie数据库表中,原有的cookie值和原有的cookie值的过期时间。
优选地,所述替换模块,还用于在调用所述登录平台,以获取新的cookie值以及所述新的cookie值的过期时间之后,将所述cookie字段的值替换为所述新的cookie值;
优选地,所述用户相关信息还包括:登录地址、登录请求方式和登录请求参数;
所述判断模块,还用于调用所述登录平台的登录接口;将所述登录地址、所述登录请求方式、所述登录请求参数发送至所述登录接口;获取所述登录接口返回的新的cookie值以及新的cookie值的过期时间。
优选地,所述装置还包括:
接收模块,用于在用例运行前,获取所述用例中的cookie字段的值之前, 接收用户输入的配置信息;
保存模块,用于将所述配置信息保存至所述cookie数据库表中;
其中,所述配置信息包括以下至少一项:用户ID、用户名称、登录平台、登录地址、登录请求方式、登录请求参数。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的一种在用例中管理用户登录状态的方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的一种在用例中管理用户登录状态的方法的步骤。
由此,本发明实施例中,通过在用例运行前,将cookie字段的值设置为维护用例的测试人员的用户ID,可实现用例与用户的绑定,进而通过用户ID,间接实现与cookie的绑定,且cookie数据库表的设置,可存储用户ID与cookie之间的一一对应关系,以此为基础,本发明实施例所示的方法可实现在自动化用例执行过程中,当需要使用到cookie时动态调用对应登录平台的登录接口,来获取cookie值及其过期时间,操作简单,可提高效率;可以将动态获取到的cookie持久化到cookie数据库表中,在cookie有效期内,只需要登录1次对应的登录平台(配置一次用户账号及用例的关联),无需重复登录,后续用例执行期间,用户登录状态的管理和维护完全通过自动化的方式实现、无需人工干预,准确率较高,且效率较高。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种在用例中管理用户登录状态的方法的流程图;
图2为本发明实施例提供的一种配置用户相关信息的显示界面的示意图;
图3为本发明实施例提供的一种在用例中管理用户登录状态的方法的流程图;
图4为本发明实施例提供的一种在用例中管理用户登录状态的装置的结构框图;
图5为本发明实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了根据本发明实施例的一种在用例中管理用户登录状态的方法,方法应用于测试环境中,方法包括:
步骤S101、在用例运行前,获取用例中的cookie字段的值;
步骤S102、根据用户ID在cookie数据库表中,查找与用户ID所对应的用户相关信息;
其中,用户相关信息包括以下至少一项:登录平台、cookie值、cookie值的过期时间;
步骤S103、判断cookie值是否为空;
如果是,则执行步骤S104;如果否,则执行步骤S105;
步骤S104、调用登录平台,以获取新的cookie值以及新的cookie值的过期时间;
步骤S105、则判断cookie值是否过期;
如果是,则执行步骤S104;如果否,则执行步骤S106;
步骤S106、将cookie字段的值替换为cookie值;
步骤S107、运行已替换cookie字段的值的用例。
需要说明的是,本发明实施例可以使用java语言、mysql数据库、react前端来实现,但不限于此。
在一种可能的实现方式中,在步骤S101、用例运行前,获取用例中的cookie字段的值之前,方法还包括:接收用户输入的配置信息;将配置信息保存至cookie数据库表中;其中,配置信息包括以下至少一项:用户ID、用户名称、登录平台、登录地址、登录请求方式、登录请求参数。在具体的应用场景中,执行上述可能的实现方式所述的方法时,显示界面如图2所示,可通过图2所示的显示界面来配置用户相关信息。在点击图2所示的“提交”图标之后,配置信息可作为用户相关信息保存至cookie数据库表中。如下述表1所示。
表1
前端页面字段(用户输入的配置信息,如图2所示)与cookie数据库表(如表1所示)中的字段的对应关系如下:用户ID对应user_id;用户名称对应user_name;对应平台(登录平台)名称对应plat_name;登录地址对应login_url;登录请求方式对应request_type;登录请求参数对应request_params。
需要说明的是,在首次创建用户相关信息时,cookie数据表中,cookie和expiration_time(cookie过期时间)的字段为空。
在步骤S101中,cookie字段的值为维护用例的测试人员的用户ID。在一种具体的应用场景中,在用例编写时,可通过带有用户标识的参数“@用户ID”,实现用例与用户的绑定,进而通过用户ID间接实现与cookie的绑定。如下述代码所示:
{
"header":{
"Cookie": "@A0001",
"access-token": "",
"x-access-token": "",
"x-member-id": ""
},
"data": {
"transfer_amount": "0.01",
"receipt_broker_id": "yi73",
"receipt_dealer_id": "02398553",
"receipt_account_type": "11"
}
}
由此,可在自动化用例中,关联用户的登录信息,以保障后续用例执行期间,用户登录状态的管理和维护完全通过自动化的方式实现、无需人工干预,准确率较高,且效率较高。
在步骤S102~步骤S108中,首先根据用户ID在cookie数据库表中,查找与用户ID所对应的用户相关信息;其中,用户相关信息包括以下至少一项:登录平台、cookie值、cookie值的过期时间,并判断cookie值是否为空,如果cookie值为空,就调用登录平台,以获取新的cookie值以及新的cookie值的过期时间;
如果不为空,就判断cookie值是否过期,如果cookie值过期,则调用登录平台,以获取新的cookie值以及新的cookie值的过期时间,如果cookie值未过期,则将cookie字段的值替换为cookie值,并运行已替换cookie字段的值的用例。也就是说,只有在cookie值不为空,且cookie值未过期的情况下,才将用例中,cookie字段的值替换为cookie值,无论是cookie值为空,还是cookie值不为空,但已失效,均需调用登录平台,以获取新的cookie值以及新的cookie值的过期时间。
以上述解释说明为基础,在一种可能的实现方式中,在调用登录平台,以获取新的cookie值以及新的cookie值的过期时间之后,方法还包括:将新的cookie值以及新的cookie值的过期时间存储至cookie数据库表中,替换cookie数据库表中,原有的cookie值和原有的cookie值的过期时间(如表2所示),重新执行根据用户ID在cookie数据库表中,查找与用户ID所对应的用户相关信息的步骤。其中,表2为更新了cookie值及cookie值的过期时间字段后的cookie数据库表。
表2
在一种可能的实现方式中,在调用登录平台,以获取新的cookie值以及新的cookie值的过期时间之后,方法还包括:将cookie字段的值替换为新的cookie值;执行运行已替换cookie字段的值的用例的步骤。
上述两种可能实现方式的区别为:第一种方式为:在调用登录平台,获取新的cookie值以及新的cookie值的过期时间之后,首先将新的cookie值以及新的cookie值的过期时间存储至cookie数据库表中,替换cookie数据库表中,原有的cookie值和原有的cookie值的过期时间。由于cookie数据库表中,存储有用户ID与cookie值的对应关系,因此,在更新cookie数据库表后,可重新执行根据用户ID在cookie数据库表中,查找与用户ID所对应的用户相关信息的步骤,即根据用户ID,重新确定用例执行所需的cookie值。
可理解的是,在用例为多条,且维护每条用例的用户不同的情况下,cookie数据库表可准确地存储每条用例、用户ID、用户名称、登录平台、登录地址、登录请求方式、登录请求参数、cookie值、cookie过期时间之间的对应关系,由此,先根据新的cookie值以及新的cookie值的过期时间更新cookie数据库表,再基于连接用例以及cookie数据库表的中介——用户ID,可确定出用例执行所需的cookie值及其过期时间,可避免将cookie值赋予给并非与其对应的用例的情况发生,进一步保障用例的正确执行。
第二种方式为:在调用登录平台,获取新的cookie值以及新的cookie值的过期时间之后,将cookie字段的值替换为新的cookie值;执行运行已替换cookie字段的值的用例的步骤。此种情况并未限制需要在获取新的cookie值以及新的cookie值的过期时间之后,立即对cookie数据库表进行更新,而是优先考虑用例的正常执行,即:将当前待执行用例中,cookie字段的值替换为新的cookie值,执行已替换cookie字段的值的用例的步骤。此种情况适用于用例单一的情况。
在一种可能的实现方式中,用户相关信息还包括:登录地址、登录请求方式和登录请求参数;调用登录平台,以获取新的cookie值以及新的cookie值的过期时间包括:调用登录平台的登录接口;将登录地址、登录请求方式、登录请求参数发送至登录接口;获取登录接口返回的新的cookie值以及新的cookie值的过期时间。
在一种可能的实现方式中,在运行已替换cookie字段的值的用例之后,方法还包括:若运行失败;则判断运行失败的原因是否为当前cookie字段的值无效;如果是,则调用登录平台,以获取新的cookie值以及新的cookie值的过期时间。由此,可在用例执行之后对执行失败的用例进一步判断其执行失败的原因,若是因为cookie失效所导致,则可以自动登录(调用登录平台)获取最新的cookie及期过期时间,优选地,可将所获取的最新的cookie及其过期时间同步更新到cookie数据库表中。以解决虽然数据库中的cookie未过期,但该登录用户被人工退出所导致的cookie失效的情况,以进一步保障用例的正确执行。
本发明实施例提供了一种在用例中管理用户登录状态的方法,通过页面可视化配置用户账号信息,并将用户账号信息和对应cookie值及cookie过期时间持久化到数据库中,用例中的cookie值通过带有用户标识的参数与用户登录信息进行绑定,用例执行时可根据标识获取对应cookie信息,当监测到cookie为空或失效时则自动登录获取最新cookie信息并更新到数据库中,以实现登录状态的保持。由此,配置完用户账号信息及与用例关联关系之后,在自动化用例的执行过程中,用户登录状态的管理和维护无需人工参与,可完全自动化实现,避免了人工依赖,且提高了效率及准确率。
图3示出了根据本发明实施例所示的一种在用例中管理用户登录状态的方法的流程图。
现对图3所示的方法做简要说明:通过页面来配置登录用户的相关信息,并将相关信息保存至cookie数据库表中;通过将用例中,cookie的字段替换成带用户标识的参数,以实现与cookie数据库表中动态cookie的绑定;自动化用例执行时,动态获取cookie,具体如下:自动化用例执行时,当监测到参数“@A0001”时,先对字符串“@A0001”进行截取,获取“@”后面的字符“A0001”,将该值作为用户ID,到cookie数据库表中,查找user_id=A0001的用户信息(用户ID、用户名称、登录平台、登录地址、登录请求方式、登录请求参数、cookie值、cookie过期时间),从查询结果中获取cookie值,先判断cookie值是否为空后,可分为如下几个分支:
分支1:cookie值为空,则自动调用对应登录平台的登录接口,并将获取到的登录地址、登录请求方式、登录请求参数传给该接口,监听该接口的返回信息,从返回信息中获取cookie值及cookie值的过期时间,并将这两个值更新到user_id=A0001的用户对应的cookie数据库表中(如上述表2所示);
分支2:cookie值不为空,则将当前时间和cookie的过期时间比较,若cookie过期时间早于当前时间,则判定cookie已失效,进入分支2.1;若cookie过期时间晚于当前时间,则判定cookie在有效期内,进入分支2.2;
分支2.1:自动调用对应登录平台的登录接口,并将获取到的登录地址、请求方式、请求参数传递给该接口,接口请求之后,监听该接口的返回信息,从返回信息中获取cookie及cookie过期时间,并将这两个值更新到user_id=A0001的用户对应的cookie数据库表中,更新完之后,重新执行上述“自动化用例执行,动态获取cookie”的步骤;
分支2.2:将cookie数据表中获取到的cookie值替换@A0001的值,并执行用例;
分支2.3:用例执行完之后,判断用例的执行结果,若结果为成功,则用例执行结束;若结果失败,则进一步判断错误信息是否为“cookie已过期”,若是,则重复分支2.1操作,直到拿到最新可用cookie值及过期时间。
由此,本发明实施例可实现在自动化用例执行过程中,当需要使用到cookie时动态调用对应用户的登录接口,来获取cookie值及过期时间;可以将动态获取到的cookie持久化到数据库中,在cookie有效期内,只需要登录1次对应的登录平台(配置一次用户账号及用例的关联),无需重复登录。
图4示出了根据本发明实施例所示的一种在用例中管理用户登录状态的装置40,装置40应用于测试环境中,装置40包括:
获取模块401,用于在用例运行前,获取用例中的cookie字段的值;其中,cookie字段的值为维护用例的测试人员的用户ID;
查找模块402,用于根据用户ID在cookie数据库表中,查找与用户ID所对应的用户相关信息;其中,用户相关信息包括以下至少一项:登录平台、cookie值、cookie值的过期时间;
判断模块403,用于判断cookie值是否为空;如果是,则调用登录平台,以获取新的cookie值以及新的cookie值的过期时间;如果否,则判断cookie值是否过期;若过期,则调用登录平台,以获取新的cookie值以及新的cookie值的过期时间;若未过期,则将cookie字段的值替换为cookie值;
运行模块404,用于运行已替换cookie字段的值的用例。
在一种可能的实现方式中,判断模块403,还用于在运行已替换cookie字段的值的用例之后,若运行失败;则判断运行失败的原因是否为当前cookie字段的值无效;如果是,则调用登录平台,以获取新的cookie值以及新的cookie值的过期时间。
在一种可能的实现方式中,装置40还包括:
替换模块,用于在调用登录平台,以获取新的cookie值以及新的cookie值的过期时间之后,将新的cookie值以及新的cookie值的过期时间存储至cookie数据库表中,替换cookie数据库表中,原有的cookie值和原有的cookie值的过期时间。
在一种可能的实现方式中,替换模块,还用于在调用登录平台,以获取新的cookie值以及新的cookie值的过期时间之后,将cookie字段的值替换为新的cookie值;
在一种可能的实现方式中,用户相关信息还包括:登录地址、登录请求方式和登录请求参数;
判断模块403,还用于调用登录平台的登录接口;将登录地址、登录请求方式、登录请求参数发送至登录接口;获取登录接口返回的新的cookie值以及新的cookie值的过期时间。
在一种可能的实现方式中,装置40还包括:
接收模块,用于在用例运行前,获取用例中的cookie字段的值之前, 接收用户输入的配置信息;
保存模块,用于将配置信息保存至cookie数据库表中;
其中,配置信息包括以下至少一项:用户ID、用户名称、登录平台、登录地址、登录请求方式、登录请求参数。
本发明实施例可通过页面直观地进行登录账号及对应平台信息的维护,实现可视化,且只需要配置一次用户账号及用例关联,后续在用例执行期间,用户登录状态的管理和维护完全通过自动化的方式实现,无需人工干预,以实现自动化用例中在不依赖重复调用登录接口、不依赖手工登录的情况下,保证用户的登录态,以保障自动化用例的正常运行。
本发明实施例还提供一种电子设备50,如图5所示,包括:处理器501、存储器502及存储在存储器502上并可在处理器501上运行的程序,程序被处理器执行时实现如图1所示的一种在用例中管理用户登录状态的方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述图1所示的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (7)

1.一种在用例中管理用户登录状态的方法,其特征在于,所述方法应用于测试环境中,所述方法包括:
在用例运行前,获取所述用例中的cookie字段的值;其中,所述cookie字段的值为维护所述用例的测试人员的用户ID;
根据所述用户ID在cookie数据库表中,查找与所述用户ID所对应的用户相关信息;其中,所述用户相关信息包括以下至少一项:登录平台、cookie值、cookie值的过期时间;
判断所述cookie值是否为空;
如果是,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;
如果否,则判断所述cookie值是否过期;若过期,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;
若未过期,则将所述cookie字段的值替换为所述cookie值;
运行已替换cookie字段的值的用例;
在运行已替换cookie字段的值的用例之后,所述方法还包括:
若运行失败;则判断运行失败的原因是否为当前cookie字段的值无效;
如果是,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;
在调用所述登录平台,以获取新的cookie值以及所述新的cookie值的过期时间之后,所述方法还包括:
将所述新的cookie值以及所述新的cookie值的过期时间存储至所述cookie数据库表中,替换所述cookie数据库表中,原有的cookie值和原有的cookie值的过期时间;
重新执行所述根据所述用户ID在cookie数据库表中,查找与所述用户ID所对应的用户相关信息的步骤。
2.根据权利要求1所述的方法,其特征在于,在调用所述登录平台,以获取新的cookie值以及所述新的cookie值的过期时间之后,所述方法还包括:
将所述cookie字段的值替换为所述新的cookie值;
执行所述运行已替换cookie字段的值的用例的步骤。
3.根据权利要求1所述的方法,其特征在于,所述用户相关信息还包括:登录地址、登录请求方式和登录请求参数;
调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间包括:
调用所述登录平台的登录接口;
将所述登录地址、所述登录请求方式、所述登录请求参数发送至所述登录接口;
获取所述登录接口返回的新的cookie值以及新的cookie值的过期时间。
4.根据权利要求1所述的方法,其特征在于,在用例运行前,获取所述用例中的cookie字段的值之前,所述方法还包括:
接收用户输入的配置信息;
将所述配置信息保存至所述cookie数据库表中;
其中,所述配置信息包括以下至少一项:用户ID、用户名称、登录平台、登录地址、登录请求方式、登录请求参数。
5.一种在用例中管理用户登录状态的装置,其特征在于,所述装置应用于测试环境中,所述装置包括:
获取模块,用于在用例运行前,获取所述用例中的cookie字段的值;其中,所述cookie字段的值为维护所述用例的测试人员的用户ID;
查找模块,用于根据所述用户ID在cookie数据库表中,查找与所述用户ID所对应的用户相关信息;其中,所述用户相关信息包括以下至少一项:登录平台、cookie值、cookie值的过期时间;
判断模块,用于判断所述cookie值是否为空;如果是,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;如果否,则判断所述cookie值是否过期;若过期,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;若未过期,则将所述cookie字段的值替换为所述cookie值;
运行模块,用于运行已替换cookie字段的值的用例;
所述判断模块,还用于在运行已替换cookie字段的值的用例之后,若运行失败;则判断运行失败的原因是否为当前cookie字段的值无效;如果是,则调用所述登录平台,以获取新的cookie值以及新的cookie值的过期时间;
替换模块,用于在调用所述登录平台,以获取新的cookie值以及所述新的cookie值的过期时间之后,将所述新的cookie值以及所述新的cookie值的过期时间存储至所述cookie数据库表中,替换所述cookie数据库表中,原有的cookie值和原有的cookie值的过期时间。
6.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至4中任一项所述的在用例中管理用户登录状态的方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的在用例中管理用户登录状态的方法的步骤。
CN202310416716.9A 2023-04-19 2023-04-19 一种在用例中管理用户登录状态的方法及装置 Active CN116150037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310416716.9A CN116150037B (zh) 2023-04-19 2023-04-19 一种在用例中管理用户登录状态的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310416716.9A CN116150037B (zh) 2023-04-19 2023-04-19 一种在用例中管理用户登录状态的方法及装置

Publications (2)

Publication Number Publication Date
CN116150037A CN116150037A (zh) 2023-05-23
CN116150037B true CN116150037B (zh) 2023-07-21

Family

ID=86358533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310416716.9A Active CN116150037B (zh) 2023-04-19 2023-04-19 一种在用例中管理用户登录状态的方法及装置

Country Status (1)

Country Link
CN (1) CN116150037B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814133A (zh) * 2020-05-27 2020-10-23 平安国际智慧城市科技股份有限公司 移动应用统一登录方法及装置
CN113268684A (zh) * 2021-06-24 2021-08-17 深圳平安智汇企业信息管理有限公司 数据处理方法、装置、终端设备以及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421733B2 (en) * 2002-02-06 2008-09-02 Hewlett-Packard Development Company, L.P. System and method for providing multi-class processing of login requests
US20050154887A1 (en) * 2004-01-12 2005-07-14 International Business Machines Corporation System and method for secure network state management and single sign-on
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
US10178125B2 (en) * 2016-05-03 2019-01-08 Salesforce.Com, Inc. Stateless prevention of login-based cross-site request forgery
CN110430205B (zh) * 2019-08-09 2023-04-18 深圳前海微众银行股份有限公司 单点登录方法、装置、设备及计算机可读存储介质
CN113946805A (zh) * 2021-10-08 2022-01-18 浪潮云信息技术股份公司 一种用户登录状态保持方法
CN114363395A (zh) * 2021-12-31 2022-04-15 深圳金蝶账无忧网络科技有限公司 会话处理方法、装置及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814133A (zh) * 2020-05-27 2020-10-23 平安国际智慧城市科技股份有限公司 移动应用统一登录方法及装置
CN113268684A (zh) * 2021-06-24 2021-08-17 深圳平安智汇企业信息管理有限公司 数据处理方法、装置、终端设备以及存储介质

Also Published As

Publication number Publication date
CN116150037A (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
CN111666162B (zh) 分布式消息传输方法、装置、计算机设备及存储介质
US8762929B2 (en) System and method for exclusion of inconsistent objects from lifecycle management processes
CN113448814B (zh) 用于评估应用程序接口的方法、设备和程序产品
US20080005747A1 (en) System and method for object state management
CN110933095A (zh) 一种报文解析方法及装置
CN111611207B (zh) 状态数据处理方法、装置及计算机设备
CN112286665A (zh) 自动化任务发放方法、执行方法、设备及存储介质
WO2020258653A1 (zh) 一种跨节点的数据处理方法及装置
CN116150037B (zh) 一种在用例中管理用户登录状态的方法及装置
CN110727895B (zh) 一种敏感词发送方法、装置、电子设备及存储介质
CN109245941B (zh) 一种服务补偿方法及装置
US20210365520A1 (en) Webpage loading method, intermediate server and webpage loading system
CN110557656A (zh) 个性化内容分发方法及装置
CN113901153A (zh) 数据处理方法及相关设备
US11995482B2 (en) Atomicity assurance device and atomicity assurance method
CN109783105B (zh) 企业服务平台的编码统计方法、设备、存储介质及装置
CN112181785A (zh) 一种自动添加监控设备的方法、终端及存储介质
CN110782380A (zh) 航变信息管理方法、装置和存储介质
CN113094379B (zh) 锚定式用户数据维护方法、装置、设备及介质
CN116643733B (zh) 业务处理系统和方法
CN116760697B (zh) 网络设备风险监测方法、计算机设备和计算机存储介质
CN116107603B (zh) 一种固件升级方法、装置、存储介质和电子设备
CN117608572A (zh) 页面开发方法、设备及计算机可读存储介质
CN111104251B (zh) 恢复文件的方法、设备和计算机可读介质
CN117014427A (zh) 跨域登录的方法、装置、终端设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant