一种智能更新页面定位元素的UI自动化测试方法及系统与流程

文档序号:36910280发布日期:2024-02-02 21:39阅读:20来源:国知局
一种智能更新页面定位元素的UI自动化测试方法及系统与流程

本技术涉及自动化测试,特别是涉及一种web页面ui测试方法。


背景技术:

1、在软件开发过程中,ui自动化测试是验证应用程序功能和用户界面是否正常工作的一种重要方法。通过编写自动化脚本,在用户界面上进行各种操作(如点击、填写表单、选择菜单等),并检查结果是否符合预期,可以显著提高测试效率和准确性,节约时间和资源。

2、但在实际项目中,随着元素位置移动、元素名称修改、元素删除或添加、页面布局变更等因素的影响,脚本执行往往会出现失败或错误的情况。此时,测试人员需要投入大量时间,手动更新脚本以适应变化,有时甚至需要重新编写或放弃部分用例,这会导致大量重复的工作和人力成本的浪费。

3、针对这种情况,测试人员可以参与维护定位元素等基本信息来解决ui自动化用例的问题。但实际工程应用中,ui自动化用例数量巨大,每次迭代所积累的用例量甚至能上万条,有些隐藏标签还需人工触发特定环境方可展示获取最新的定位元素,这无疑会增加测试人员维护的复杂度。而随着工程应用的功能不断扩大,ui自动化测试系统运行也面临着严峻的挑战。目前ui自动化测试系统面临的主要缺陷包括:

4、1、元素删除或添加导致脚本执行失败或错误;

5、2、元素位置移动需要手动更新脚本以适应新位置;

6、3、页面布局变更导致原有脚本无法操作页面上的元素等问题;

7、4、隐藏的定位元素也需要特定环境触发条件来触发并进行修改。


技术实现思路

1、本技术提供一种智能更新页面定位元素的ui自动化测试方法及系统,旨在解决现有技术测试用例的覆盖率和稳定性不佳、维护效率较低等问题。

2、第一方面,一种智能更新页面定位元素的ui自动化测试方法,包括:

3、步骤一:获取当前页面所有非隐藏元素的定位数据,对每个非隐藏元素分别按照设定的命名逻辑生成相应的代码自定义名称;所述非隐藏元素分为可点击定位元素和可输入定位元素;

4、步骤二:递归点击当前页面所有可点击定位元素,获取由于点击后导致的新增元素的定位数据,并对新增元素按照所述设定的命名逻辑生成相应的代码自定义名称;

5、步骤三:递归获取当前页面中的可输入定位元素,配置嗅探策略,获取所有的隐藏元素的定位数据,并对隐藏元素按照所述设定的命名逻辑生成相应的代码自定义名称;

6、步骤四:将步骤一至步骤三获得的全量数据存储到第一数据库,所述第一数据库还存储有此前若干版本的全量数据,所述全量数据包括每个元素的代码自定义名称和定位数据;将当前版本的全量数据与上一版本的全量数据进行比较,确定其中发生改变的数据,记为变更数据;

7、步骤五:对于所述变更数据,通过反向查找基线的定位元素数据库的全量数据,智能更新基线的定位元素数据库中相应元素的定位数据,并添加标识,但保持元素的代码自定义名称不变,以使ui自动化用例中的用例能正常执行;

8、步骤六:基于所述基线的定位元素数据库,运行ui自动化用例,输出测试报告。

9、可选地,所述可点击定位元素包括按钮(button)、链接(link)、下拉列表(dropdown list)、复选框(checkbox)和标签(label)。

10、可选地,所述设定的命名逻辑为:代码自定义名称包含所在页面标题和页面上体现的元素名称或含义,并用点号隔开。

11、可选地,步骤二中,递归点击当前页面所有可点击定位元素产生新增元素,包括:对于在点击过程中需其他操作配合的隐藏弹框,利用预先编写的对应算法辅助点击,以保证所有的可点击定位元素相关的隐藏数据全部获取。

12、可选地,步骤四具体包括:

13、将获取到的当前版本的全量数据与上一版本的全量数据进行对比判断,使用ai技术进行相似度计算,如果相似度低于设定的阈值,则判断为变更数据,并存储到第二数据库中,所述第二数据库用于专门记录变更数据;否则,判断为非变更数据。

14、可选地,步骤五中,所述智能更新基线的定位元素数据库中相应元素的定位数据包括:判断反查到的元素是否为需更新元素,如果是,则进行定位数据的更新,否则,判断为新增元素,对基线的定位元素数据库的定位数据集追加。

15、可选地,步骤五,所述判断反查到的元素是否为需更新元素,具体包括:

16、利用变更数据中的代码自定义名称反向查找基线的定位元素数据库的全量数据,如果存在对应的定位数据,再进一步判断当前元素是否属于变更元素(名称有变更的元素);如果既不存在定位数据也不属于变更元素,则表明是新增元素;否则,为需更新元素。

17、可选地,所述判断当前元素是否属于变更元素的方法是:设因新增元素导致基线的定位元素数据库中当前元素定位数据的xpath_id发生了m个位次的变化,则通过查询基线的定位元素数据库中当前元素上方m个元素的标识、统计各种标记的个数,来确认当前元素是需更新元素还是变更元素。

18、第二方面,一种智能更新页面定位元素的ui自动化测试系统,包括:

19、页面定位元素信息更新模块,用于实现上述智能更新页面定位元素的ui自动化测试方法中的步骤一至步骤五;

20、用例数据库,用于存储测试用例;

21、定位元素数据库,具体分为三个数据库:

22、a、第一数据库,用于存储各个版本全量数据的数据库;

23、b、第二数据库,用于存储变更数据的数据库;

24、c、基线的定位元素数据库,作为测试用例数据的来源;

25、测试执行模块,用于基于所述基线的定位元素数据库,自动运行用例数据库中存储的测试用例,输出测试报告(即实现上述智能更新页面定位元素的ui自动化测试方法中的步骤六)。

26、第三方面,一种用于ui自动化测试的计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特殊之处在于,所述处理器执行所述计算机程序时实现上述智能更新页面定位元素的ui自动化测试方法的步骤。

27、相比现有技术,本技术至少具有以下有益效果:

28、本技术通过基于当前页面所有非隐藏元素,递归点击可点击定位元素、递归嗅探可输入元素来获取定位元素变动信息和隐藏元素信息,获得所有的全量数据,再通过对比旧版本数据确定变更数据,智能判断并更新基线版本定位元素数据,从而可不断更新ui自动化测试系统中定位元素的全量信息,并实现智能化管理,运行ui自动化用例;这样,就可以保证原有用例正常执行,同时提高测试效率和质量,让测试人员能够更早地参与到ui自动化测试用例编写中。具体来说:

29、1、本技术能够对定位信息进行准确、清楚的定位并修改,自动化获取更新底层定位数据,测试用例保持不变,节省了自动化用例的维护时间,也省去了底层定位元素维护的时间,自动维护保证定位元素均为最新元素;方便测试人员ui自动化测试用例可持续性维护,减少人工投入,提高测试效率。

30、2、本技术省去了手动查找隐藏元素的麻烦,直接可以获取每个隐藏元素,解决了传统元素定位方法无法获取隐藏ui定位元素的问题,提高了测试用例的覆盖率,确保已有的ui自动化用例持续稳定可用,能够适应不同类型的web页面,具有广泛的适用性和灵活性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1