CN112083992A - Ui自动化测试方法 - Google Patents
Ui自动化测试方法 Download PDFInfo
- Publication number
- CN112083992A CN112083992A CN202010910444.4A CN202010910444A CN112083992A CN 112083992 A CN112083992 A CN 112083992A CN 202010910444 A CN202010910444 A CN 202010910444A CN 112083992 A CN112083992 A CN 112083992A
- Authority
- CN
- China
- Prior art keywords
- information
- keyword
- label
- parent
- level
- 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.)
- Pending
Links
- 238000010998 test method Methods 0.000 title claims abstract description 14
- 238000012360 testing method Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 22
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 claims abstract description 8
- 229910052711 selenium Inorganic materials 0.000 claims abstract description 8
- 239000011669 selenium Substances 0.000 claims abstract description 8
- 230000002452 interceptive effect Effects 0.000 claims abstract description 7
- 238000011144 upstream manufacturing Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了UI自动化测试方法,涉及UI自动化测试技术领域,包括以下步骤:通过URL分析出所有的HTML网页组件;根据关键字自动识别所在的组件,并获取该组件所有的HTML源码;根据关键字特征信息获取该组件的父级标签;根据关键字特征信息获取关键字所在位置的子级标签;确定父级标签和子级标签。通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加ID元素信息;通过selenium的id方法控制自动添加的id元素对GUI页面的可交互功能进行UI自动化测试。本发明实现对组件进行分析以及分类,便于识别组件的父级元素和要控制的子级元素,不仅减少对人力资源的消耗,提高测试效率,而且能够节省测试时间,应用范围广,适应性强。
Description
技术领域
本发明涉及UI自动化测试技术领域,具体来说,涉及UI自动化测试方法。
背景技术
随着计算机技术的快速发展,目前对终端设备的用户界面的测试需求越来越大。现有技术中,是通过测试人员针对每个测试场景编写对应的测试代码,并运行测试代码实现对终端设备的用户界面进行UI自动化测试,并得出对应的测试结果文件。显然,现有技术的用户界面的测试方法,需要人工执行操作,使得测试过程繁琐耗时;并且进行用户界面测试的UI自动化脚本的编写难度大,对测试人员的技能水平要求高,因此进一步加大对自动化测试人员的技术要求;并且,手工测试的方式无法满足大批量测试的需求。
因此,如何提高对用户界面的测试效率,降低对人力资源的成本,降低UI自动化测试学习成本、维护成本、编写成功。并且能够满足大批量测试的需求,是本领域技术人员目前需要解决的技术问题。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出UI自动化测试方法,以克服现有相关技术所存在的上述技术问题。
本发明的技术方案是这样实现的:
UI自动化测试方法,包括以下步骤:
步骤S1,通过URL分析出所有的HTML网页组件;
步骤S2,根据关键字自动识别所在的组件,并获取该组件所有的HTML源码;
步骤S3,根据关键字特征信息获取该组件的父级标签;
步骤S4,根据关键字特征信息获取关键字所在位置的子级标签;
步骤S5,确定父级标签和子级标签;对获取的父级标签和子级标签进行分析,获取父级元素和子级元素;
步骤S6,通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加ID元素信息,其中ID为随机不重复值;
步骤S7,通过selenium的id方法控制自动添加的id元素对GUI页面的可交互功能进行UI自动化测试。
进一步的,包括以下步骤:
获取上游测试数据信息,从excel信息、mysql信息、testlink信息和禅道信息;
自动生成自动化测试用例;
标定测试用例管理工具;
标定自动化框架特征信息,其中包括关键字信息、操作步骤信息、预期结果信息和实际结果信息。
进一步的,包括以下步骤:
获取关键字信息;
提取操作步骤信息字符串;
分割列表并循环列表。
进一步的,所述确定父级标签和子级标签,对获取的父级标签和子级标签进行分析,获取父级元素和子级元素,包括以下步骤:
获取到关键字所在的当前标签,确定页面组件类型的html
进行对源码进行分析;
判断是否获取关键字同级的html标签内容或获取关键字上级的html标签内容。
进一步的,所述GUI对应组件的html信息,在关键字锁定的标签自动添加ID元素信息,包括将获取的标签分解成列表信息,并获取子级标签中的子级元素。
本发明的有益效果:
本发明UI自动化测试方法,通过URL分析出所有的HTML网页组件;根据关键字自动识别所在的组件,并获取该组件所有的HTML源码;根据关键字特征信息获取该组件的父级标签;根据关键字特征信息获取关键字所在位置的子级标签;确定父级标签和子级标签;获取父级元素和子级元素;通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加ID元素信息;通过selenium的id方法控制自动添加的id元素对GUI页面的可交互功能进行UI自动化测试。本发明实现对组件进行分析以及分类,便于识别组件的父级元素和要控制的子级元素,不仅减少对人力资源的消耗,提高测试效率,而且能够节省测试时间,应用范围广,适应性强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的UI自动化测试方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了UI自动化测试方法。
如图1所示,根据本发明实施例的UI自动化测试方法,包括以下步骤:
步骤S1,通过URL分析出所有的HTML网页组件;
步骤S2,根据关键字自动识别所在的组件,并获取该组件所有的HTML源码;
步骤S3,根据关键字特征信息获取该组件的父级标签;
步骤S4,根据关键字特征信息获取关键字所在位置的子级标签;
步骤S5,确定父级标签和子级标签;对获取的父级标签和子级标签进行分析,获取父级元素和子级元素;
步骤S6,通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加ID元素信息,其中ID为随机不重复值;
步骤S7,通过selenium的id方法控制自动添加的id元素对GUI页面的可交互功能进行UI自动化测试。
借助于上述技术方案,通过URL分析出所有的HTML网页组件(一级菜单、对话框、下拉框前端HTML源码等);根据关键字自动识别所在的组件,并获取该组件所有的HTML源码,根据关键字特征信息获取该组件的父级标签;根据关键字特征信息获取关键字所在位置的子级标签,确定父级标签和子级标签;对获取的父级标签和子级标签进行分析,获取父级元素和子级元素,通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加ID元素信息,其中ID为随机不重复值;对于没有关键字的输入框通过输入框前面的标题进行关键字锁定。对于页面中的增删改查操作也进行了设计(删除-姓名、修改-姓名、编辑-姓名),通过此方法可以指定某数据进行增删改查操作,通过selenium的id方法控制自动添加的id元素对GUI页面的可交互功能进行UI自动化测试,实现对组件进行分析以及分类,便于识别组件的父级元素和要控制的子级元素,不仅减少对人力资源的消耗,提高测试效率,而且能够节省自动化脚本编写时间时间,降低自动化维护成本,降低自动化编写人员的专业技能,应用范围广,适应性强。
其中,包括以下步骤:
获取上游测试数据信息,从excel信息、mysql信息、testlink信息、禅道信息;
自动生成自动化测试用例;
标定测试用例管理工具;
标定自动化框架特征信息,其中包括关键字信息、操作步骤信息、预期结果信息和实际结果信息。
其中,包括以下步骤:
获取关键字信息;
提取操作步骤信息字符串;
分割列表并循环列表。
其中,所述确定父级标签和子级标签,对获取的父级标签和子级标签进行分析,获取父级元素和子级元素,包括以下步骤:
获取到关键字所在的当前标签,确定页面组件类型的html
源码进行分析;
判断是否获取关键字同级的html标签内容或获取关键字上级的html标签内容。
其中,所述GUI对应组件的html信息,在关键字锁定的标签自动添加ID元素信息,包括将获取的标签分解成列表信息,并获取子级标签中的子级元素。
另外,具体的,其预先标定提取相应的关键词,如元素a,所输出的目标关键词则为元素b的字符串,通过正则表达式的方式,以“_”进行分割成列表,生成自动化测试步骤,UI自动化框架代码循环列表实现自动化测试运行,检索操作步骤中有“:”是为输入框,通过正则表达式的方式,以“:”进行分割,“:”前面的为GU的元素a(操作步骤),通过关键字识别页面元素,“:”后面的为GUI“输入框”要输入的内容,结合后即可实现对页面输入框自动输入内容的效果。
另外,则对UI页面模块进行组件类型识别,其中,通过URL分析出所有的HTML网页组件;根据关键字自动识别所在的组件,并获取该组件所有的HTML源码;根据关键字特征信息获取该组件的父级标签;根据关键字特征信息获取关键字所在位置的子级标签;确定父级标签和子级标签;获取父级元素和子级元素;通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加ID元素信息,通过selenium的id的方法进行页面的功能按钮和输入框的控制,若关键字锁定标签无法通过页面的规律编写正则表达式获取,还可以人工告诉的方式,例如,关键字同级是span,上级是button,上上级是div,填写span后,代码就会在该关键字所在区域的span添加一个id元素,如果添加button,则在button的标签中添加一个id元素。
具体的,其自动化框架代码通过,通过正则表达式的方式,以“_”进行分割【操作步骤】字符串,从而获取操作步骤列表,自动化框架代码循环列表实现自动化测试运行,【输入账号:admin】,检索操作步骤中有“:”视为输入框,通过正则表达式的方式,以【:】进行分割,【:】前面的为GUI的【关键字】,识别页面元素,【:】后面的为GUI【输入框】要输入的内容。
此外,通过URL分析出所有的HTML网页组件;根据关键字自动识别所在的组件,获取到GUI对于组件的html内容,将关键字传到已经写好的算法中,获取关键字当前所在位置的标签,根据对页面组件的特性进行分析。判断是要获取关键字同级的html标签内容还是关键字上级的html标签内容。
另外,修改通过上面的算法获取的关键字所在的html标签,添加【ID】元素,表示为:
1、通过关键字分析出的html标签,将获取的标签分解一个列表。例如:<buttonclass="el-form-item_content"type="button">分解成如下:
[button,class="el-form-item_content",type="button"]
2、通过该组件对应的父级元素和关键字获取的子级元素即分解后的列表数据
3、通过关键字获取的父级元素和子级元素传入自动化框架中将关键字所在的标签添加id元素,例如:<button class="el-form-item_content"type="button"id="代码自动生成的随机字符串">。此方法完成了对GUl组件内对于关键字的html标签编辑id元素的操作。
此外,对GUI页面的功能按钮和输入框进行自动控制,完成上面的所有操作,就可以通过关键字识别元素,在关键字锁定的标签自动新增一个ID元素,其通过将GUI对于组件的父级元素和通过关键字新增的【ID】元素,对页面的功能按钮、输入框、勾选框、刷新图标、【X】关闭图标等,进行控制,实现Ul自动化测试。
综上所述,借助于本发明的上述技术方案,通过UI自动化测试方法,通过URL分析出所有的HTML网页组件;根据关键字自动识别所在的组件,并获取该组件所有的HTML源码;根据关键字特征信息获取该组件的父级标签;根据关键字特征信息获取关键字所在位置的子级标签;确定父级标签和子级标签;获取父级元素和子级元素;通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加ID元素信息;通过selenium的id方法控制自动添加的id元素对GUI页面的可交互功能进行UI自动化测试。本发明实现对组件进行分析以及分类,便于识别组件的父级元素和要控制的子级元素,不仅减少对人力资源的消耗,提高测试效率,而且能够节省测试时间,应用范围广,适应性强。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.UI自动化测试方法,其特征在于,包括以下步骤:
通过URL分析出所有的HTML网页组件;
根据关键字自动识别所在的组件,并获取该组件所有的HTML源码;
根据关键字特征信息获取该组件的父级标签;
根据关键字特征信息获取关键字所在位置的子级标签;
确定父级标签和子级标签,对获取的父级标签和子级标签进行分析,获取父级元素和子级元素;
通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加ID元素信息,其中ID为随机不重复值;
通过selenium的id方法控制自动添加的id元素对GUI页面的可交互功能进行UI自动化测试。
2.根据权利要求1所述的UI自动化测试方法,其特征在于,进一步包括以下步骤:
获取上游测试数据信息,从excel信息、mysql信息、testlink信息和禅道信息;
自动生成自动化测试用例;
标定测试用例管理工具;
标定自动化框架特征信息,其中包括关键字信息、操作步骤信息、预期结果信息和实际结果信息。
3.根据权利要求2所述的UI自动化测试方法,其特征在于,进一步包括以下步骤:
获取关键字信息;
提取操作步骤信息字符串;
分割列表并循环列表。
4.根据权利要求1所述的UI自动化测试方法,其特征在于,所述确定父级标签和子级标签,对获取的父级标签和子级标签进行分析,获取父级元素和子级元素,包括以下步骤:
获取到关键字所在的当前标签,确定页面组件类型的html;
进行对源码进行分析;
判断是否获取关键字同级的html标签内容或获取关键字上级的html标签内容。
5.根据权利要求4所述的UI自动化测试方法,其特征在于,所述GUI对应组件的html信息,在关键字锁定的标签自动添加ID元素信息,包括将获取的标签分解成列表信息,并获取子级标签中的子级元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010910444.4A CN112083992A (zh) | 2020-09-02 | 2020-09-02 | Ui自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010910444.4A CN112083992A (zh) | 2020-09-02 | 2020-09-02 | Ui自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112083992A true CN112083992A (zh) | 2020-12-15 |
Family
ID=73732768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010910444.4A Pending CN112083992A (zh) | 2020-09-02 | 2020-09-02 | Ui自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112083992A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239298A (zh) * | 2021-06-18 | 2021-08-10 | 北京邮电大学 | 一种自动化测试元素的自动抓取并录入方法及装置 |
CN116627391A (zh) * | 2023-07-21 | 2023-08-22 | 上海秉匠信息科技有限公司 | 一种ui组件探测方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424087A (zh) * | 2013-08-21 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种web页面元素定位的方法,装置及系统 |
CN106446123A (zh) * | 2016-09-19 | 2017-02-22 | 成都知道创宇信息技术有限公司 | 一种网页中验证码元素识别方法 |
CN106547689A (zh) * | 2016-10-20 | 2017-03-29 | 金航数码科技有限责任公司 | 一种基于web的自动化测试用例开发系统及方法 |
CN107783902A (zh) * | 2017-09-26 | 2018-03-09 | 甘肃万维信息技术有限责任公司 | 一种免于编码的Selenium自动化测试方法及系统 |
CN110727603A (zh) * | 2019-10-25 | 2020-01-24 | 重庆誉存大数据科技有限公司 | 一种基于ui自动化测试定位元素的改进方法 |
-
2020
- 2020-09-02 CN CN202010910444.4A patent/CN112083992A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424087A (zh) * | 2013-08-21 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种web页面元素定位的方法,装置及系统 |
CN106446123A (zh) * | 2016-09-19 | 2017-02-22 | 成都知道创宇信息技术有限公司 | 一种网页中验证码元素识别方法 |
CN106547689A (zh) * | 2016-10-20 | 2017-03-29 | 金航数码科技有限责任公司 | 一种基于web的自动化测试用例开发系统及方法 |
CN107783902A (zh) * | 2017-09-26 | 2018-03-09 | 甘肃万维信息技术有限责任公司 | 一种免于编码的Selenium自动化测试方法及系统 |
CN110727603A (zh) * | 2019-10-25 | 2020-01-24 | 重庆誉存大数据科技有限公司 | 一种基于ui自动化测试定位元素的改进方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239298A (zh) * | 2021-06-18 | 2021-08-10 | 北京邮电大学 | 一种自动化测试元素的自动抓取并录入方法及装置 |
CN116627391A (zh) * | 2023-07-21 | 2023-08-22 | 上海秉匠信息科技有限公司 | 一种ui组件探测方法、装置、设备及存储介质 |
CN116627391B (zh) * | 2023-07-21 | 2023-10-27 | 上海秉匠信息科技有限公司 | 一种ui组件探测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7398068B2 (ja) | ソフトウェアテスト | |
CN107908635B (zh) | 建立文本分类模型以及文本分类的方法、装置 | |
CN110018955A (zh) | 通过转换手动测试用例来生成自动化测试脚本 | |
Zhao et al. | ActionNet: Vision-based workflow action recognition from programming screencasts | |
CN106682192A (zh) | 一种基于搜索关键词训练回答意图分类模型的方法和装置 | |
CN108090043B (zh) | 基于人工智能的纠错举报处理方法、装置及可读介质 | |
US10210211B2 (en) | Code searching and ranking | |
CN110245232B (zh) | 文本分类方法、装置、介质和计算设备 | |
CN102043716A (zh) | 基于业务驱动的软件自动化测试方法 | |
CN112083992A (zh) | Ui自动化测试方法 | |
CN109872230B (zh) | 金融数据分析系统的测试方法、装置、介质、电子设备 | |
CN109408763B (zh) | 一种对不同模板的简历进行管理的方法及系统 | |
CN113448845A (zh) | 一种ui自动化测试方法及系统 | |
CN115562656A (zh) | 页面的生成方法、装置、存储介质及计算机设备 | |
CN113947086A (zh) | 样本数据生成方法、训练方法、语料生成方法和装置 | |
CN110750297B (zh) | 一种基于程序分析和文本分析的Python代码参考信息生成方法 | |
CN112989050B (zh) | 一种表格分类方法、装置、设备及存储介质 | |
CN109471637B (zh) | 电路图的审查脚本调试方法 | |
US11544179B2 (en) | Source traceability-based impact analysis | |
CN116185812A (zh) | 一种软件系统功能自动化测试方法、装置及介质 | |
Paris et al. | Environments for the construction and use of task models | |
CN114356291A (zh) | 基于配置文件生成表单的方法、装置、设备及介质 | |
CN116560819B (zh) | 基于rpa的批量自动化操作方法、系统、设备及储存介质 | |
Alarte et al. | Web template extraction based on hyperlink analysis | |
CN111768261B (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 |