页面测试方法和装置、存储介质和电子设备制造方法及图纸

技术编号:29203112 阅读:12 留言:0更新日期:2021-07-10 00:37
本公开涉及一种页面测试方法和装置、存储介质和电子设备,所述方法包括:获取至少一条待测试内容,每条所述待测试内容包括待测试文本和待测试操作,所述待测试文本为待测试页面中展示的文字内容;从所述待测试页面包含的元素中确定与所述待测试文本对应的目标元素;基于所述目标元素和所述待测试操作,生成与所述待测试内容对应的测试指令;基于所述测试指令,对所述页面进行测试。本公开可以提升页面测试效率。测试效率。测试效率。

【技术实现步骤摘要】
页面测试方法和装置、存储介质和电子设备


[0001]本公开涉及计算机
,具体地,涉及一种页面测试方法和装置、存储介质和电子设备。

技术介绍

[0002]为了保证网页的可用性,在网页落地前,一般都会对网页的相关功能进行测试。目前,可以通过Selenium工具来进行页面的自动化测试,但是,用户需要先主动定位待操作的页面元素,通常,这可以通过Selenium提供的众多元素定位方法来完成。其弊端在于,一方面,用户需要了解被操作的页面元素的细节,如它的id、name、class、tag等属性,并应用正确的方法去定位元素,对于一些定位信息很少的元素,不得不采用CSS选择器或XPath等复杂的语法去定位,这抬高了书写测试用例门槛的同时,又让测试用例稳定性降低,页面元素的微小改动,都可能造成用例执行失败,另一方面,这种先定位元素,再操作元素的自动化用例书写风格,让测试用例中需要覆盖的业务逻辑变得支离破碎,不再直观。
[0003]目前尚未出现可以更直观且快速地进行浏览器自动化页面测试的方法。

技术实现思路

[0004]提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0005]第一方面,本公开提供一种页面测试方法,所述方法包括:获取至少一条待测试内容,每条所述待测试内容包括待测试文本和待测试操作,所述待测试文本为待测试页面中展示的文字内容;从所述待测试页面包含的元素中确定与所述待测试文本对应的目标元素;基于所述目标元素和所述待测试操作,生成与所述待测试内容对应的测试指令;基于所述测试指令,对所述页面进行测试。
[0006]第二方面,本公开提供一种页面测试装置,所述装置包括:获取模块,用于获取至少一条待测试内容,每条所述待测试内容包括待测试文本和待测试操作,所述待测试文本为待测试页面中展示的文字内容;确定模块,用于从所述待测试页面包含的元素中确定与所述待测试文本对应的目标元素;生成模块,用于基于所述目标元素和所述待测试操作,生成与所述待测试内容对应的测试指令;测试模块,用于基于所述测试指令,对所述页面进行测试。
[0007]第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面所述方法的步骤。
[0008]第四方面,本公开提供一种电子设备,包括存储装置和处理装置,存储装置上存储有计算机程序的,处理装置用于执行所述计算机程序,以实现本公开第一方面所述方法的步骤。
[0009]基于上述的技术方案,至少可以达到以下技术效果:
[0010]自动根据待测试页面中展示的文字内容对页面中的目标元素进行定位,使得可以通过待测试文本和待测试操作生成对应的测试指令,减少了用户基于目标页面元素特征进行元素定位或通过CSS、XPath等复杂语法对目标元素进行定位的步骤,简化了页面测试指令的生成方式,可以提高页面测试的效率。
[0011]本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0012]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
[0013]图1是根据一示例性公开实施例示出的一种页面测试方法的流程图
[0014]图2是根据一示例性公开实施例示出的一种待测试页面的示意图。
[0015]图3是根据一示例性公开实施例示出的一种查找元素过程的示意图。
[0016]图4是根据一示例性公开实施例示出的一种页面测试装置的框图。
[0017]图5是根据一示例性公开实施例示出的一种电子设备的框图。
具体实施方式
[0018]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0019]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0020]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0021]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0022]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0023]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0024]图1是根据一示例性公开实施例示出的一种页面测试方法的流程图,本方法可以应用于代码库中,还可以应用于应用程序或网页中,或者搭载于应用程序或网页应用于电子设备中,如图1所示,所述方法包括以下步骤:
[0025]S11、获取至少一条待测试内容,每条所述待测试内容包括待测试文本和待测试操作,所述待测试文本为待测试页面中展示的文字内容。
[0026]一条待测试内容可以生成一条测试指令,该待测试内容可以表征对某一待测试文本执行某一操作。
[0027]如图2所示的是一种待测试页面的示意图,其中,a为第一下拉框,a中展示的文字内容为“最近”,b为第一输入框,b中没有展示文本内容,c为第一展示框,展示框无法被用户点击选中或修改,属于不可操作的元素,第一展示框还可以是基于第一输入框的从属性实现的,不是独立的元素。此外,d为第二下拉框,d中展示的文字内容为“做了任意事件”,e为第三下拉框,e中展示的文字内容为“总次数”,f为第四下拉框,f中展示的文字内容为“>”,g为第二输入框,g中展示的文字内容为“0”。
[0028]在传统的网页测试方式中,如果需要点击第四下拉框,则需要用户找到第四下拉框对应的元素的代码,例如,可以通过以下代码定位第四下拉框对应的元素:elem=driver.find_element_by_css_selector('div[title=">"]'),值得说明的是,元素具有不同的类型,不同的类型对应不同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种页面测试方法,其特征在于,所述方法包括:获取至少一条待测试内容,每条所述待测试内容包括待测试文本和待测试操作,所述待测试文本为待测试页面中展示的文字内容;从所述待测试页面包含的元素中确定与所述待测试文本对应的目标元素;基于所述目标元素和所述待测试操作,生成与所述待测试内容对应的测试指令;基于所述测试指令,对所述页面进行测试。2.根据权利要求1所述的方法,其特征在于,所述从所述待测试页面包含的元素中确定与所述待测试文本对应的目标元素,包括:在所述待测试页面的元素中查找包括所述待测试文本的第一相关元素;筛除所述第一相关元素中的不可见元素,将所述第一相关元素中的第一可见元素作为所述目标元素。3.根据权利要求2所述的方法,其特征在于,所述待测试操作包括基于所述待测试文本的操作方位,所述方法还包括:确定位于所述第一可见元素的所述操作方位的元素为第二相关元素;筛除所述第二相关元素中的不可见元素,将所述第二相关元素中的可见元素作为所述目标元素。4.根据权利要求2或3任一项所述的方法,其特征在于,所述方法还包括:在待确定为目标元素的可见元素多于一个时,确定各可见元素的文本与所述待测试文本的相关度;确定相关度最高的可见元素为所述目标元素。5.根据权利要求2或3任一项所述的方法,其特征在于,所述不可见元素是通过以下至少一种方式筛除的:将非用户操作的元素作为不可见元素筛除;将属性包括隐藏属性的元素作为不可见元素筛除;将空间尺寸的宽或高为0的元素作为不可见元素筛除。6.根据权利要求2所述的方法,其特征在于,所述在所...

【专利技术属性】
技术研发人员:胡雷庭李珊陶健陆发权李育国
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1