一种网页页面元素操作的方法及系统与流程

文档序号:13661175阅读:1298来源:国知局
一种网页页面元素操作的方法及系统与流程

本发明涉及计算机技术领域,具体地说是一种网页页面元素操作的方法及系统。



背景技术:

在webui(websiteuserinterface,浏览器界面)自动化测试过程中,采用较多的测试方式是基于selenium(selenium是一种应用于web测试的工具)的框架实现的。其主要的操作原理是通过驱动网页上的相关元素,模仿网页上的手动操作,并通过脚本对操作产生的结果进行校验,从而达到自动化测试的目的。

在实际操作过程中,往往会遇到一些棘手的问题,最常见的就是找不到页面元素的问题。其主要由动态id定位不到元素、iframe(网页中的标签)没有切换,定位不到元素、xpath(一种网页元素描述方法)描述错误、页面没有及时加载等原因导致。动态id定位不到元素、iframe没有切换、xpath描述错误这些原因可以通过脚本方式进行规避。但页面没有及时加载导致找不到元素的解决方案往往效果欠佳。

现有技术中主要采用固定等待的方式,比如说找元素前等一秒或者两秒或者更多。时间不太好控制,等待时间过长,会导致时间的浪费,过短会导致网页加载不上来。



技术实现要素:

本发明的目的在于提供一种网页页面元素操作的方法及系统,用于解决现有测试中元素的获取时间不好掌握、浪费测试时间的问题。

本发明解决其技术问题所采用的技术方案是:一种网页页面元素操作的方法,包括以下步骤:

s1,利用显示等待的方式等待元素出现,并等待元素状态变为可操作;

s2,利用测试工具操作元素;

s3,检测元素操作是否成功,若未成功,持续进行元素操作直至元素操作成功;

s4,将s1-s3操作步骤封装到测试用例中。

进一步地,步骤s1之前还包括等待dom加载完毕的过程,通过检测dom属性的变化判断dom的加载情况。

进一步地,所述显示等待的具体过程为:

设置等待时间;

在该等待时间内,检测是否出现等待元素;

若是,则结束等待;

若否,则继续检测,超过设置等待时间后,提示等待失败。

进一步地,通过调用测试工具操作元素的接口对元素进行操作,对元素的操作包括双击、单击、输入文本和选择。

进一步地,步骤s3的具体实现过程为:

利用try-catch结构检测元素操作是否成功;

若是,直接转到下一步;

若否,则循环元素操作的过程,直至检测元素操作成功,转到下一步。

一种网页页面元素操作的系统,包括

元素获取模块,利用显示等待的方式等待元素出现,并等待元素状态变为可操作;

元素操作模块,利用测试工具操作元素;

元素处理模块,用于检测元素操作是否成功,若未成功,持续进行元素操作直至元素操作成功;

封装处理模块,用于将元素获取模块、元素操作模块和元素处理模块封装到测试用例中。

进一步地,所述系统还包括网页获取模块,所述网页获取模块通过检测dom属性的变化判断dom的加载情况,等待dom加载完毕。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

1、通过利用显示等待的方式分别等待元素出现和元素可操作,设置最长等待时间,在等待时间内不断检测元素是否出现或可操作,若是,则直接跳出等待,进行下一步的操作,节省时间,且保证网页页面元素出现和可操作。

2、通过检测dom属性的变化来检测dom的加载情况,等待dom加载完成再进行下一步的操作,进一步保证了测试元素的出现。

3、元素操作结束后,判断元素操作是否成功,如果不成功,循环元素的操作,直到元素操作成功,保证了元素操作环节的正确性,在检测元素操作成功后,进行元素操作封装,并应用于测试用例中,保证测试用例的可靠性。

附图说明

图1是本发明方法一个实施例的流程示意图;

图2是本发明方法另一实施例的流程示意图;

图3是本发明系统一个实施例的结构示意图;

图4是本发明系统另一实施例的结构示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

如图1所示,本发明的一种网页页面元素操作的方法的一个实施例,包括以下步骤:

s1,利用显示等待的方式等待元素出现,并等待元素状态变为可操作;

s2,利用测试工具操作元素;

s3,检测元素操作是否成功,若未成功,持续进行元素操作直至元素操作成功;

s4,将s1-s3操作步骤封装到测试用例中。

步骤s1中,对元素出现的等待和元素状态可操作的等待均使用显示等待的方式,显示等待的过程为设置等待时间;在该等待时间内,检测是否出现等待元素;若是,则结束等待;若否,则继续检测,超过设置等待时间后,提示等待失败。

对显示等待进行举例说明:设置等到时间为10s,在10s之内,如果能找到元素,表示等待成功,如果超过10s,表示等待失败。相比于普通等待的区别在于:普通等待10s,是等10s之后再进行操作。显示等待是10s内,比如说第三秒发现元素了,直接结束等待,节省时间。

对上述等待元素的出现和等待元素可操作的过程进行举例说明:元素出现的意思:比如网页很慢的情况下,页面是一点一点开始加载的,加载一点,说明有部分元素出现了。元素可操作的意思:比如说页面上有个按钮,加载慢得时候,这个按钮虽然出现了,但可能是无法点击的,甚至可能是以一个文本的方式出现,可操作的情况是就是按钮直接出现了,并且可以进行点击。

步骤s2中,本实施例的测试工具为webdriver测试工具,通过调用webdriver操作元素的接口对元素进行操作,其中对元素的操作包括双击、单击、输入文本和选择等。

步骤s3中,利用try-catch结构检测元素操作是否成功;若是,则对元素进行操作;若否,则循环元素操作的过程,至检测元素操作成功。封装的过程即将webdriver操作元素的接口结合步骤s1~s3操作组成一个代码段模块,后续在调用元素操作时,直接调用封装好的模块,避免由于找不到元素而无法操作的问题。

步骤s4中,将封装好的元素操作应用于测试用例中,保证测试用例的可靠性,在后续使用测试用例时,更加顺利,加速测试的进行,且减少出错概率。

如图2所示,本发明的一种网页页面元素操作方法的另一实施例,包括以下步骤:

s0,等待dom(documentobjectmodel,文档对象模型)加载完毕;

s1,利用显示等待的方式等待元素出现,并等待元素状态变为可操作;

s2,利用测试工具操作元素;

s3,检测元素操作是否成功,若未成功,持续进行元素操作直至元素操作成功;

s4,将s0-s3操作步骤封装到测试用例中。

步骤s0中,通过检测dom属性的变化判断dom的加载情况,如dom属性发生了变化,则表明dom加载完成,进行下一步的操作。例如采用js脚本的方式进行判断页面是否加载完成,使用一个循环,比如说等待6分钟,这6分钟之内,每隔2秒检测一次dom的属性是否发生变化,如果发生了变化,就跳出循环,结束等待。

步骤s1~s4的具体实现过程与上述实施例相同,在此不作赘述。

如图3所示,本发明的一种网页页面元素操作系统的一个实施例,该系统包括依次连接的元素获取模块1、元素操作模块2、元素处理模块3和封装处理模块4。

其中元素获取模块1利用显示等待的方式等待元素出现,并等待元素状态变为可操作;元素操作模块2利用测试工具操作元素;元素处理模块3用于检测元素操作是否成功,待元素操作成功后,对元素操作进行封装;封装处理模块4用于将封装好的元素操作应用到测试用例中。

元素获取模块1中显示等待的方式为设置等待时间;在该等待时间内,检测是否出现等待元素;若是,则结束等待;若否,则继续检测,超过设置等待时间后,提示等待失败。

元素操作模块2对元素的操作包括双击、单击、输入文本和选择等。

元素处理模块3通过try-catch结构检测元素操作是否成功,其中try-catch结构是一种程序结构。

封装处理模块4将元素获取模块1、元素操作模块2、元素处理模块3封装到测试用例中,保证测试用例的可靠性,在后续使用测试用例时,更加顺利,加速测试的进行,且减少出错概率。

如图4所示,本发明的一种网页页面元素操作系统的另一实施例,在上一实施例的基础上,本实施例的系统还包括与元素获取模块1连接的网页获取模块5,网页获取模块5通过检测dom属性的变化判断dom的加载情况来等待dom加载完毕。例如采用js脚本的方式进行判断页面是否加载完成,使用一个循环,比如说等待6分钟,这6分钟之内,每隔2秒检测一次dom的属性是否发生变化,如果发生了变化,就跳出循环,结束等待。进一步保证了网页页面元素的出现。

以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

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