CN111858321A - 一种基于Xdotool的自动化测试方法 - Google Patents

一种基于Xdotool的自动化测试方法 Download PDF

Info

Publication number
CN111858321A
CN111858321A CN202010656994.8A CN202010656994A CN111858321A CN 111858321 A CN111858321 A CN 111858321A CN 202010656994 A CN202010656994 A CN 202010656994A CN 111858321 A CN111858321 A CN 111858321A
Authority
CN
China
Prior art keywords
tested
operating system
automatic
xdotool
script
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.)
Granted
Application number
CN202010656994.8A
Other languages
English (en)
Other versions
CN111858321B (zh
Inventor
李�浩
毛晨涛
战茅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kirin Software Co Ltd
Original Assignee
Kirin Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kirin Software Co Ltd filed Critical Kirin Software Co Ltd
Priority to CN202010656994.8A priority Critical patent/CN111858321B/zh
Publication of CN111858321A publication Critical patent/CN111858321A/zh
Application granted granted Critical
Publication of CN111858321B publication Critical patent/CN111858321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test 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工具;
在所述待测试操作系统中编写和部署自动化测试脚本;
启动所述待测试操作系统;
所述待测试操作系统运行自动登录脚本;
判断所述待测试操作系统中鼠标是否正常移动;
若是,重启所述待测试操作系统,并返回启动所述待测试操作系统步骤;
若否,保留故障发生时所述待测试操作系统的环境状态。
优选地,所述待测试操作系统运行自动登录脚本包括步骤:
进入所述待测试操作系统登录界面;
模拟键盘在所述登录界面上输入用户名和/或密码。
优选地,所述判断所述待测试操作系统中鼠标是否正常移动包括步骤:
登陆所述待测试操作系统;
模拟鼠标在所述待测试操作系统中移动。
优选地,所述重启所述待测试操作系统包括步骤:
登陆所述待测试操作系统;
模拟鼠标点击系统重启图标重启所述待测试操作系统。
优选地,所述在所述待测试操作系统中编写和部署自动化测试脚本包括步骤:
在所述待测试操作系统中编写和部署自动登录脚本;
在所述待测试操作系统中编写和部署自动重启脚本。
本申请提供的一种基于Xdotool的自动化测试方法,可以控制待测试操作系统自动重启,并模拟键盘输入用户名和密码登录系统;登录待测试操作系统后,模拟鼠标的移动,判断系统是否可以正常使用,如果可以正常使用,重新启动系统执行以上操作,如果不可以正常使用,保留出现故障时的系统环境,实现低概率故障问题的自动复现,大大降低了人力工作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种基于Xdotool的自动化测试方法的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
如图1,在本申请实施例中,本申请提供了一种基于Xdotool的自动化测试方法,包括:
S1:在待测试操作系统中安装Xdotool工具;
S2:在所述待测试操作系统中编写和部署自动化测试脚本;
S3:启动所述待测试操作系统;
S4:所述待测试操作系统运行自动登录脚本;
S5:判断所述待测试操作系统中鼠标是否正常移动;
S6:若是,重启所述待测试操作系统,并返回启动所述待测试操作系统步骤;
S7:若否,保留故障发生时所述待测试操作系统的环境状态。
当采用此方法对待测试操作系统进行自动化测试时,首先在待测试操作系统中安装Xdotool工具(具体安装命令为:$sudo yum install xdotool),并编写和部署自动化测试脚本,而后启动待测试操作系统,此时待测试操作系统运行自动登录脚本,并判断待测试操作系统中鼠标是否正常移动。如果正常移动,此时只需要重启待测试操作系统,并且再次循环上述的自动化测试流程;当无法正常移动时,此时只需要保留故障发生时待测试操作系统的环境状态即可。
在本申请实施例中,所述待测试操作系统运行自动登录脚本包括步骤:
进入所述待测试操作系统登录界面;
模拟键盘在所述登录界面上输入用户名和/或密码。
具体地,当进入待测试操作系统登录界面之后,自动登录脚本在待测试操作系统上模拟键盘在所述登录界面上输入用户名和/或密码。
在本申请实施例中,所述判断所述待测试操作系统中鼠标是否正常移动包括步骤:
登陆所述待测试操作系统;
模拟鼠标在所述待测试操作系统中移动。
具体地,当进入待测试操作系统登录界面之后,自动化测试脚本在待测试操作系统上模拟鼠标在所述待测试操作系统中移动。
在本申请实施例中,所述重启所述待测试操作系统包括步骤:
登陆所述待测试操作系统;
模拟鼠标点击系统重启图标重启所述待测试操作系统。
具体地,当进入待测试操作系统登录界面之后,自动化测试脚本在待测试操作系统上模拟鼠标点击系统重启图标重启所述待测试操作系统。
在本申请实施例中,所述在所述待测试操作系统中编写和部署自动化测试脚本包括步骤:
在所述待测试操作系统中编写和部署自动登录脚本;
在所述待测试操作系统中编写和部署自动重启脚本。
具体地,自动登录脚本如下所示:
Figure BDA0002577115400000041
Figure BDA0002577115400000051
将上述脚本移动到/usr/bin/目录,并在/usr/lib/systemd/system/目录中增加一个开机自动调用上述脚本的xdotool_daemon.service文件。
具体地,自动重启脚本如下所示:
Figure BDA0002577115400000061
Figure BDA0002577115400000071
将上述脚本移动到/usr/bin/目录,并在/etc/xdg/autostart/目录中增加一个开机自动调用上述脚本的reboot.desktop文件。
本申请提供的一种基于Xdotool的自动化测试方法,可以控制待测试操作系统自动重启,并模拟键盘输入用户名和密码登录系统;登录待测试操作系统后,模拟鼠标的移动,判断系统是否可以正常使用,如果可以正常使用,重新启动系统执行以上操作,如果不可以正常使用,保留出现故障时的系统环境,实现低概率故障问题的自动复现,大大降低了人力工作。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (5)

1.一种基于Xdotool的自动化测试方法,其特征在于,包括:
在待测试操作系统中安装Xdotool工具;
在所述待测试操作系统中编写和部署自动化测试脚本;
启动所述待测试操作系统;
所述待测试操作系统运行自动登录脚本;
判断所述待测试操作系统中鼠标是否正常移动;
若是,重启所述待测试操作系统,并返回启动所述待测试操作系统步骤;
若否,保留故障发生时所述待测试操作系统的环境状态。
2.根据权利要求1所述的基于Xdotool的自动化测试方法,其特征在于,所述待测试操作系统运行自动登录脚本包括步骤:
进入所述待测试操作系统登录界面;
模拟键盘在所述登录界面上输入用户名和/或密码。
3.根据权利要求1所述的基于Xdotool的自动化测试方法,其特征在于,所述判断所述待测试操作系统中鼠标是否正常移动包括步骤:
登陆所述待测试操作系统;
模拟鼠标在所述待测试操作系统中移动。
4.根据权利要求1所述的基于Xdotool的自动化测试方法,其特征在于,所述重启所述待测试操作系统包括步骤:
登陆所述待测试操作系统;
模拟鼠标点击系统重启图标重启所述待测试操作系统。
5.根据权利要求1所述的基于Xdotool的自动化测试方法,其特征在于,所述在所述待测试操作系统中编写和部署自动化测试脚本包括步骤:
在所述待测试操作系统中编写和部署自动登录脚本;
在所述待测试操作系统中编写和部署自动重启脚本。
CN202010656994.8A 2020-07-09 2020-07-09 一种基于Xdotool的自动化测试方法 Active CN111858321B (zh)

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 true CN111858321A (zh) 2020-10-30
CN111858321B 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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112348653A (zh) * 2020-12-03 2021-02-09 四川长虹电器股份有限公司 一种财务云平台的自动测试运维系统
CN113157596A (zh) * 2021-05-26 2021-07-23 中国银行股份有限公司 一种自动化测试方法及装置
CN113553226A (zh) * 2021-07-23 2021-10-26 曙光信息产业股份有限公司 开关机测试方法、装置、测试系统、电子设备及存储介质
CN113590498A (zh) * 2021-09-29 2021-11-02 麒麟软件有限公司 一种桌面操作系统应用启动时间的测试方法及系统
CN114153726A (zh) * 2021-11-25 2022-03-08 麒麟软件有限公司 一种基于linux桌面操作系统的登录测试方法及装置
CN114924991A (zh) * 2022-07-19 2022-08-19 深圳市亿联无限科技有限公司 一种特定操作下出现概率性问题的复现方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
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 中标软件有限公司 系统桌面图标加载性能测试方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
SHAUVIK ROY CHOUDHARY.ET.: "Automated Test Input Generation for Android: Are We There Yet?", 《 2015 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE)》, pages 429 - 440 *
白英杰等: "国产操作系统远程维护策略的部署", 《计算机与网络》, vol. 45, no. 5, pages 56 - 59 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112348653A (zh) * 2020-12-03 2021-02-09 四川长虹电器股份有限公司 一种财务云平台的自动测试运维系统
CN112348653B (zh) * 2020-12-03 2022-08-16 四川长虹电器股份有限公司 一种财务云平台的自动测试运维系统
CN113157596A (zh) * 2021-05-26 2021-07-23 中国银行股份有限公司 一种自动化测试方法及装置
CN113553226A (zh) * 2021-07-23 2021-10-26 曙光信息产业股份有限公司 开关机测试方法、装置、测试系统、电子设备及存储介质
CN113590498A (zh) * 2021-09-29 2021-11-02 麒麟软件有限公司 一种桌面操作系统应用启动时间的测试方法及系统
CN114153726A (zh) * 2021-11-25 2022-03-08 麒麟软件有限公司 一种基于linux桌面操作系统的登录测试方法及装置
CN114153726B (zh) * 2021-11-25 2024-05-17 麒麟软件有限公司 一种基于linux桌面操作系统的登录测试方法及装置
CN114924991A (zh) * 2022-07-19 2022-08-19 深圳市亿联无限科技有限公司 一种特定操作下出现概率性问题的复现方法及系统
CN114924991B (zh) * 2022-07-19 2022-12-13 深圳市亿联无限科技有限公司 一种特定操作下出现概率性问题的复现方法及系统

Also Published As

Publication number Publication date
CN111858321B (zh) 2024-05-10

Similar Documents

Publication Publication Date Title
CN111858321A (zh) 一种基于Xdotool的自动化测试方法
CN102736978B (zh) 一种检测应用程序的安装状态的方法及装置
CN105302722B (zh) Cts自动测试方法及装置
CN111124919A (zh) 一种用户界面的测试方法、装置、设备及存储介质
CN101751329B (zh) 一种实现自动测试的方法和系统
CN109388569B (zh) 远程检测客户端环境异常的方法、测试服务器及存储介质
Qin et al. An empirical investigation of fault triggers in android operating system
CN109144525A (zh) 一种网络自适应的软件安装方法与系统
CN112231206A (zh) 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台
CN110704299A (zh) 一种安卓平台app异常测试方法及装置
CN115422091B (zh) 一种固件调试方法及装置、电子设备、存储介质
CN113360366A (zh) Web页面测试方法、测试装置、电子设备及存储介质
CN103176903A (zh) MapReduce分布式系统程序的测试方法及设备
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
CN115454856A (zh) 多应用的安全检测方法、装置、介质及电子设备
CN112486517B (zh) 应用程序的安装方法、系统、电子设备及存储介质
CN114880244A (zh) 应用测试方法及装置、存储介质及电子设备
CN111209197A (zh) 应用程序持续集成测试方法、系统、设备和存储介质
CN114153726B (zh) 一种基于linux桌面操作系统的登录测试方法及装置
CN111367537B (zh) 设备驱动的安装方法、装置、计算机设备及存储介质
CN115048313B (zh) 自动化测试方法及装置、计算机可读存储介质及电子设备
CN111124797A (zh) 一种Redis组件测试的方法和设备
CN112612710B (zh) 一种自动测试方法和系统
CN113590224B (zh) 服务器的检测方法、装置、电子设备及存储介质
US11290907B1 (en) Mobile device testing based on user class

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