CN111858321B - 一种基于Xdotool的自动化测试方法 - Google Patents
一种基于Xdotool的自动化测试方法 Download PDFInfo
- Publication number
- CN111858321B CN111858321B CN202010656994.8A CN202010656994A CN111858321B CN 111858321 B CN111858321 B CN 111858321B CN 202010656994 A CN202010656994 A CN 202010656994A CN 111858321 B CN111858321 B CN 111858321B
- Authority
- CN
- China
- Prior art keywords
- tested
- operating system
- xdotool
- script
- automatic
- 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.)
- Active
Links
- 238000010998 test method Methods 0.000 title claims description 9
- 238000012360 testing method Methods 0.000 claims abstract description 23
- 238000009434 installation Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- 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/3664—Environments for testing or debugging software
-
- 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/3684—Test management for test design, e.g. generating new test cases
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种基于Xdotool的自动化测试方法,包括:在待测试操作系统中安装Xdotool工具;在所述待测试操作系统中编写和部署自动化测试脚本;启动所述待测试操作系统;所述待测试操作系统运行自动登录脚本;判断所述待测试操作系统中鼠标是否正常移动;若是,重启所述待测试操作系统,并返回启动所述待测试操作系统步骤;若否,保留故障发生时所述待测试操作系统的环境状态。本申请可以控制待测试操作系统自动重启,并模拟键盘输入用户名和密码登录系统;登录待测试操作系统后,模拟鼠标的移动,判断系统是否可以正常使用,如果可以正常使用,重新启动系统执行以上操作,如果不可以正常使用,保留出现故障时的系统环境,实现低概率故障问题的自动复现,大大降低了人力工作。
Description
技术领域
本发明属于自动化测试技术领域,具体涉及一种基于Xdotool的自动化测试方法。
背景技术
用户在登录操作系统时,可能会出现偶发的登录失败等问题。为保证系统的稳定性,需要通过大量测试来复现这种低概率故障。常规的测试方法需要人工进行系统的重启、密码输入、登录系统、检查是否登录成功等操作,但这种测试方法对那些需要连续测试数天/数周/数月才会出现一次的故障不具备可操作性。
发明内容
为解决上述问题,本发明提供了一种基于Xdotool的自动化测试方法,包括:
在待测试操作系统中安装Xdotool工具;
在所述待测试操作系统中编写和部署自动化测试脚本;
启动所述待测试操作系统;
所述待测试操作系统运行自动登录脚本;
判断所述待测试操作系统中鼠标是否正常移动;
若是,重启所述待测试操作系统,并返回启动所述待测试操作系统步骤;
若否,保留故障发生时所述待测试操作系统的环境状态。
优选地,所述待测试操作系统运行自动登录脚本包括步骤:
进入所述待测试操作系统登录界面;
模拟键盘在所述登录界面上输入用户名和/或密码。
优选地,所述判断所述待测试操作系统中鼠标是否正常移动包括步骤:
登陆所述待测试操作系统;
模拟鼠标在所述待测试操作系统中移动。
优选地,所述重启所述待测试操作系统包括步骤:
登陆所述待测试操作系统;
模拟鼠标点击系统重启图标重启所述待测试操作系统。
优选地,所述在所述待测试操作系统中编写和部署自动化测试脚本包括步骤:
在所述待测试操作系统中编写和部署自动登录脚本;
在所述待测试操作系统中编写和部署自动重启脚本。
本申请提供的一种基于Xdotool的自动化测试方法,可以控制待测试操作系统自动重启,并模拟键盘输入用户名和密码登录系统;登录待测试操作系统后,模拟鼠标的移动,判断系统是否可以正常使用,如果可以正常使用,重新启动系统执行以上操作,如果不可以正常使用,保留出现故障时的系统环境,实现低概率故障问题的自动复现,大大降低了人力工作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种基于Xdotool的自动化测试方法的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
如图1,在本申请实施例中,本申请提供了一种基于Xdotool的自动化测试方法,包括:
S1:在待测试操作系统中安装Xdotool工具;
S2:在所述待测试操作系统中编写和部署自动化测试脚本;
S3:启动所述待测试操作系统;
S4:所述待测试操作系统运行自动登录脚本;
S5:判断所述待测试操作系统中鼠标是否正常移动;
S6:若是,重启所述待测试操作系统,并返回启动所述待测试操作系统步骤;
S7:若否,保留故障发生时所述待测试操作系统的环境状态。
当采用此方法对待测试操作系统进行自动化测试时,首先在待测试操作系统中安装Xdotool工具(具体安装命令为:$sudo yum install xdotool),并编写和部署自动化测试脚本,而后启动待测试操作系统,此时待测试操作系统运行自动登录脚本,并判断待测试操作系统中鼠标是否正常移动。如果正常移动,此时只需要重启待测试操作系统,并且再次循环上述的自动化测试流程;当无法正常移动时,此时只需要保留故障发生时待测试操作系统的环境状态即可。
在本申请实施例中,所述待测试操作系统运行自动登录脚本包括步骤:
进入所述待测试操作系统登录界面;
模拟键盘在所述登录界面上输入用户名和/或密码。
具体地,当进入待测试操作系统登录界面之后,自动登录脚本在待测试操作系统上模拟键盘在所述登录界面上输入用户名和/或密码。
在本申请实施例中,所述判断所述待测试操作系统中鼠标是否正常移动包括步骤:
登陆所述待测试操作系统;
模拟鼠标在所述待测试操作系统中移动。
具体地,当进入待测试操作系统登录界面之后,自动化测试脚本在待测试操作系统上模拟鼠标在所述待测试操作系统中移动。
在本申请实施例中,所述重启所述待测试操作系统包括步骤:
登陆所述待测试操作系统;
模拟鼠标点击系统重启图标重启所述待测试操作系统。
具体地,当进入待测试操作系统登录界面之后,自动化测试脚本在待测试操作系统上模拟鼠标点击系统重启图标重启所述待测试操作系统。
在本申请实施例中,所述在所述待测试操作系统中编写和部署自动化测试脚本包括步骤:
在所述待测试操作系统中编写和部署自动登录脚本;
在所述待测试操作系统中编写和部署自动重启脚本。
具体地,自动登录脚本如下所示:
将上述脚本移动到/usr/bin/目录,并在/usr/lib/systemd/system/目录中增加一个开机自动调用上述脚本的xdotool_daemon.service文件。
具体地,自动重启脚本如下所示:
将上述脚本移动到/usr/bin/目录,并在/etc/xdg/autostart/目录中增加一个开机自动调用上述脚本的reboot.desktop文件。
本申请提供的一种基于Xdotool的自动化测试方法,可以控制待测试操作系统自动重启,并模拟键盘输入用户名和密码登录系统;登录待测试操作系统后,模拟鼠标的移动,判断系统是否可以正常使用,如果可以正常使用,重新启动系统执行以上操作,如果不可以正常使用,保留出现故障时的系统环境,实现低概率故障问题的自动复现,大大降低了人力工作。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (4)
1.一种基于Xdotool的自动化测试方法,其特征在于,包括:
在待测试操作系统中安装Xdotool工具;
使用所述Xdotool工具在所述待测试操作系统中编写和部署自动化测试脚本;
启动所述待测试操作系统;
所述待测试操作系统运行自动登录脚本;
判断所述待测试操作系统中鼠标是否正常移动;
若是,重启所述待测试操作系统,并返回启动所述待测试操作系统步骤;
若否,保留故障发生时所述待测试操作系统的环境状态;
所述Xdotool工具的安装命令为:$sudo yuminstall xdotool;
所述在所述待测试操作系统中编写和部署自动化测试脚本包括步骤:
在所述待测试操作系统中编写和部署自动登录脚本;
在所述待测试操作系统中编写和部署自动重启脚本;
将所述自动登录脚本移动到/usr/bin/目录,并在/usr/lib/systemd/system/目录中增加一个开机自动调用所述自动登录脚本的xdotool_daemon.service文件;
将所述自动重启脚本移动到/usr/bin/目录,并在/etc/xdg/autostart/目录中增加一个开机自动调用所述自动重启脚本的reboot.desktop文件。
2.根据权利要求1所述的基于Xdotool的自动化测试方法,其特征在于,所述待测试操作系统运行自动登录脚本包括步骤:
进入所述待测试操作系统登录界面;
模拟键盘在所述登录界面上输入用户名和/或密码。
3.根据权利要求1所述的基于Xdotool的自动化测试方法,其特征在于,所述判断所述待测试操作系统中鼠标是否正常移动包括步骤:
登陆所述待测试操作系统;
模拟鼠标在所述待测试操作系统中移动。
4.根据权利要求1所述的基于Xdotool的自动化测试方法,其特征在于,所述重启所述待测试操作系统包括步骤:
登陆所述待测试操作系统;
模拟鼠标点击系统重启图标重启所述待测试操作系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010656994.8A CN111858321B (zh) | 2020-07-09 | 2020-07-09 | 一种基于Xdotool的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010656994.8A CN111858321B (zh) | 2020-07-09 | 2020-07-09 | 一种基于Xdotool的自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858321A CN111858321A (zh) | 2020-10-30 |
CN111858321B true CN111858321B (zh) | 2024-05-10 |
Family
ID=73152569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010656994.8A Active CN111858321B (zh) | 2020-07-09 | 2020-07-09 | 一种基于Xdotool的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858321B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112348653B (zh) * | 2020-12-03 | 2022-08-16 | 四川长虹电器股份有限公司 | 一种财务云平台的自动测试运维系统 |
CN113157596A (zh) * | 2021-05-26 | 2021-07-23 | 中国银行股份有限公司 | 一种自动化测试方法及装置 |
CN113553226B (zh) * | 2021-07-23 | 2023-03-21 | 曙光信息产业股份有限公司 | 开关机测试方法、装置、测试系统、电子设备及存储介质 |
CN113590498B (zh) * | 2021-09-29 | 2021-12-10 | 麒麟软件有限公司 | 一种桌面操作系统应用启动时间的测试方法及系统 |
CN114153726B (zh) * | 2021-11-25 | 2024-05-17 | 麒麟软件有限公司 | 一种基于linux桌面操作系统的登录测试方法及装置 |
CN114924991B (zh) * | 2022-07-19 | 2022-12-13 | 深圳市亿联无限科技有限公司 | 一种特定操作下出现概率性问题的复现方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1591877A1 (en) * | 2004-05-01 | 2005-11-02 | STMicroelectronics Limited | Computer navigation device |
CN102981955A (zh) * | 2012-11-29 | 2013-03-20 | 浪潮电子信息产业股份有限公司 | 一种基于Linux系统的自动连续重启的方法 |
US8490084B1 (en) * | 2009-06-18 | 2013-07-16 | Amazon Technologies, Inc. | Installation testing in automated application distribution |
CN105740152A (zh) * | 2016-02-04 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种多节点批量部署系统压力测试的方法 |
CN106776189A (zh) * | 2017-01-11 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种基于飞腾平台的自动重启测试方法 |
CN108804300A (zh) * | 2017-04-27 | 2018-11-13 | 龙芯中科技术有限公司 | 自动化测试方法及系统 |
CN108984380A (zh) * | 2018-07-12 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种基于Linux系统的服务器测试方法、装置及介质 |
CN109960636A (zh) * | 2017-12-14 | 2019-07-02 | 中标软件有限公司 | 系统桌面图标加载性能测试方法 |
-
2020
- 2020-07-09 CN CN202010656994.8A patent/CN111858321B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1591877A1 (en) * | 2004-05-01 | 2005-11-02 | STMicroelectronics Limited | Computer navigation device |
US8490084B1 (en) * | 2009-06-18 | 2013-07-16 | Amazon Technologies, Inc. | Installation testing in automated application distribution |
CN102981955A (zh) * | 2012-11-29 | 2013-03-20 | 浪潮电子信息产业股份有限公司 | 一种基于Linux系统的自动连续重启的方法 |
CN105740152A (zh) * | 2016-02-04 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种多节点批量部署系统压力测试的方法 |
CN106776189A (zh) * | 2017-01-11 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种基于飞腾平台的自动重启测试方法 |
CN108804300A (zh) * | 2017-04-27 | 2018-11-13 | 龙芯中科技术有限公司 | 自动化测试方法及系统 |
CN109960636A (zh) * | 2017-12-14 | 2019-07-02 | 中标软件有限公司 | 系统桌面图标加载性能测试方法 |
CN108984380A (zh) * | 2018-07-12 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种基于Linux系统的服务器测试方法、装置及介质 |
Non-Patent Citations (2)
Title |
---|
Automated Test Input Generation for Android: Are We There Yet?;Shauvik Roy Choudhary.et.;《 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)》;第429-440页 * |
国产操作系统远程维护策略的部署;白英杰等;《计算机与网络》;第45卷(第5期);第56-59页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111858321A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858321B (zh) | 一种基于Xdotool的自动化测试方法 | |
US9471474B2 (en) | Cloud deployment infrastructure validation engine | |
US7185335B2 (en) | Programmatic application installation diagnosis and cleaning | |
US7392148B2 (en) | Heterogeneous multipath path network test system | |
CN105302722B (zh) | Cts自动测试方法及装置 | |
CN109144525A (zh) | 一种网络自适应的软件安装方法与系统 | |
CN108923997B (zh) | 一种基于python的云服务节点自动测试方法及装置 | |
CN114281367A (zh) | 一种面向信创环境的大数据平台部署方法及系统 | |
Smith | Software performance antipatterns in cyber-physical systems | |
CN105426301A (zh) | 一种基于Linux平台Oracle数据库压力测试方法 | |
CN112506772B (zh) | web自动化测试方法、装置、电子设备和存储介质 | |
US20080154574A1 (en) | Application emulation on a non-production computer system | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN112181809B (zh) | 一种基于多种定位方法的图形用户界面自动化测试方法 | |
CN102255674A (zh) | 基于lua脚本的无线模块自动测试方法 | |
CN109669871B (zh) | 一种实现Oracle Form自动化测试的方法 | |
CN112596750A (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN112698881B (zh) | Android图片加载行为缺陷动态检测方法 | |
US11868240B2 (en) | Information processing system with intelligent program smoke testing | |
CN111124797A (zh) | 一种Redis组件测试的方法和设备 | |
CN118503002B (zh) | 基于云原生应用的运维系统 | |
CN112612710B (zh) | 一种自动测试方法和系统 | |
CN112527465A (zh) | 基于FitNesse框架的数据驱动脚本库的方法、系统及介质 | |
CN116305145A (zh) | 一种用于安全管理的软件完整性校验及测试方法 | |
CN117349137A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |