本发明涉及计算机技术领域,尤其涉及一种wap用户界面测试方法。
背景技术:
随着计算机技术和互联网产业的不断发展,wap用户界面更新速度越来越开,所以需要测试越来越多的wap用户界面,而且要求对wap用户界面的测试速度越来越快。
现有对wap用户界面测试方法是使用junit和selenium建立的单线程自动化框架进行测试,但是这种单线程自动化框架的测试过程时串行执行,耗时长,随着wap用户界面需要测试的用例数量越来越多,测试效率会越来越低,增加维护成本。
技术实现要素:
本发明提供了一种wap用户界面测试方法,解决了使用junit和selenium建立的单线程自动化框架对wap用户界面测试存在的耗时长、测试效率会越来越低以及增加维护成本的技术问题。
本发明提供了一种wap用户界面测试方法,包括:
testng对wap用户界面测试进行配置,所述配置包括多线程配置、待测试用例组合和待测试用例的测试结果监听配置;
运行在节点服务器上的seleniumgrid根据多线程配置结果和待测试用例组合结果,将多个待测试用例分配在多个子节点服务器上并行执行;
testng在多个待测试用例并行执行的同时,根据监听配置结果对多个待测试用例的测试结果进行监听。
优选地,
所述的wap用户界面测试方法,还包括:
seleniumgrid控制每个所述待测试用例在执行过程中使用同一个线程的浏览器驱动。
优选地,
待侧用例在子节点服务器上执行的过程具体包括:
初始化子节点服务器上的浏览器驱动、加载测试数据和确定所述待测用例的参数;
然后根据预置的业务操作方法调用相应的业务组件并执行相应的业务流程;
调用断言类的方法并根据所述断言类的方法校验待测用例的测试结果。
优选地,
所述业务组件是预先调用类中的方法,然后根据所述类中的方法将相应业务场景封装形成的。
优选地,
调用预置的页面对象执行相应的业务流程;
所述页面对象为预先调用元素对象类,然后根据所述元素对象类将相应元素封装形成的。
优选地,
所述的wap用户界面测试方法,还包括:
当校验所述待测用例的测试结果为失败后,testng控制测试结果校验失败的所述待测用例重新在子节点服务器上执行。
优选地,
所述的wap用户界面测试方法,还包括:
根据对多个待测试用例测试结果的监听情况,生成相应报告。
优选地,
所述待测试用例的执行以类为单位,其中每类中包括多个方法,每个方法对应一个待测试用例。
优选地,
所述待测试用例的执行以方法为单位,每个方法对应一个待测试用例。
从以上技术方案可以看出,本发明具有以下优点:
testng先对wap用户界面测试进行配置,配置包括多线程配置、待测试用例组合和待测试用例的测试结果监听配置;然后运行在节点服务器上的seleniumgrid根据多线程配置结果和待测试用例组合结果,将多个待测试用例分配在多个子节点服务器上并行执行;最后testng在多个待测试用例并行执行的同时,根据监听配置结果对多个待测试用例的测试结果进行监听;通过seleniumgrid实现了待测试用例的多线程并发执行,有效地提高了待测试用例的执行效率,并利用testng进行预先的配置和待测试用例并发执行过程中的监听,解决了使用junit和selenium建立的单线程自动化框架对wap用户界面测试存在的耗时长、测试效率会越来越低以及增加维护成本的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种wap用户界面测试方法的第一实施例的流程示意图;
图2为本发明实施例提供的一种wap用户界面测试方法的第二实施例的流程示意图;
图3为待侧用例在子节点服务器上执行的流程示意图。
具体实施方式
本发明实施例提供了wap用户界面测试方法,解决了使用junit和selenium建立的单线程自动化框架对wap用户界面测试存在的耗时长、测试效率会越来越低以及增加维护成本的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供的一种wap用户界面测试方法的第一实施例的流程示意图。
本发明提供了一种wap用户界面测试方法的第一实施例,包括:
步骤101,testng对wap用户界面测试进行配置。
配置包括但不限于多线程配置、待测试用例组合和待测试用例的测试结果监听配置。
多线程配置可以理解为开启具体哪几个线程进行wap用户界面测试。
再对wap用户界面测试的过程中,需要执行多个待测试用例,待测试用例组合可以理解为待测试用例的数量、执行顺序以及具体由哪个线程去执行等。
待测试用例的测试结果监听配置可以理解为根据测试结果执行相应的操作,例如测试结果成功后输出内容a,测试结果失败后输出内容b或者执行其他操作等。
步骤102,运行在节点服务器上的seleniumgrid根据多线程配置结果和待测试用例组合结果,将多个待测试用例分配在多个子节点服务器上并行执行。
可以理解的是,子节点服务器要预先完成注册。
本实施例通过seleniumgrid的控制实现待测试用例的多线程并行执行,有效地提高了待测试用例的执行效率。
步骤103,testng在多个待测试用例并行执行的同时,根据监听配置结果对多个待测试用例的测试结果进行监听。
在本实施例中,假设有两个子节点服务器,那么随着步骤1中的配置不同,可能将5个待测试用例分别以两个和三个为一组分配给两个子节点服务器,也可能将5个待测试用例分别以一个和四个为一组分配给两个子节点服务器。
请参阅图2,本发明实施例提供的一种wap用户界面测试方法的第二实施例的流程示意图。
本发明提供了一种wap用户界面测试方法的第二实施例,包括:
步骤201,testng对wap用户界面测试进行配置,配置包括多线程配置、待测试用例组合和待测试用例的测试结果监听配置。
步骤201与本申请第一实施例中步骤101的内容相同,具体描述可以参见第一实施例步骤101的内容,在此不再赘述。
步骤202,运行在节点服务器上的seleniumgrid根据多线程配置结果和待测试用例组合结果,将多个待测试用例分配在多个子节点服务器上并行执行。
需要说明的是,待测试用例在并行执行的情况下,可以通过seleniumgrid控制每个待测试用例在执行过程中使用同一个线程的浏览器驱动。
步骤203,testng在多个待测试用例并行执行的同时,根据监听配置结果对多个待测试用例的测试结果进行监听。
步骤204,根据对多个待测试用例测试结果的监听情况,生成相应报告。
在本实施例中,待测试用例的执行可以以类为单位,其中每类中包括多个方法,每个方法对应一个待测试用例;这种情况下,子节点服务器将一次性执行多个待测试用例。
待测试用例的执行也可以以方法为单位,每个方法对应一个待测试用例;这种情况下,子节点服务器将一次性执行一个待测试用例。
请参阅图3,待侧用例在子节点服务器上执行的流程示意图。
待侧用例在子节点服务器上执行的过程具体包括:
步骤301,初始化子节点服务器上的浏览器驱动、加载测试数据和确定待测用例的参数。
步骤301还可以包括确定待测试用例是否有依赖。
步骤302,然后根据预置的业务操作方法调用相应的业务组件并执行相应的业务流程。
业务组件是预先调用类中的方法,然后根据类中的方法将相应业务场景封装形成的。
例如,根据业务场景不同可以将业务组件分别封装成登陆业务组件、购物车业务组件和订单业务组件。
在执行相应的业务流程过程中还需要调用预置的页面对象。
页面对象为预先调用元素对象类,然后根据元素对象类将相应元素封装形成的。
页面对象可以包括登陆页面对象、购物车页面对象和结算页面对象。
例如,测试登录的用例,登陆对应的页面对象可以是将输入框、点击按钮、账号和密码封装形成的。
因为页面对象是封装形成的,所以当某个页面元素变动后,只需对该页面对象进行调整即可,例如,登陆页面对象、购物车页面对象和结算页面对象中登陆页面对象的元素变动,只需调整登陆页面对象即可;而在现有技术中将登陆页面对象、购物车页面对象和结算页面对象对应的所有元素封装再一次,所以无论哪个购物车页面对象的元素变动,都需要对整个测试脚本进行调整,所以封装形成页面对象可以减少页面元素变动导致维护测试脚本的成本。
步骤303,调用断言类的方法并根据断言类的方法校验待测用例的测试结果。
例如,登陆成功后页面上应该显示一个用户名,通过调用断言类的方法可以校验该用户名是否存在,若存在则认为校验测试结果为成功,否则认为校验测试结果为失败。
步骤304,当校验待测用例的测试结果为失败后,testng控制测试结果校验失败的待测用例重新在子节点服务器上执行。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。