推荐星级:
- 1
- 2
- 3
- 4
- 5
基于Python语言的GUI自动化测试脚本技术研究
资料介绍
为解决嵌入式软件GUI测试自动化控制问题,提出Python测试脚本扩展嵌入的方法,采用开源库Boost.Python将Python解析器嵌入GUI自动化测试平台软件中,并为GUI软件测试行为扩展了测试函数,建立了用例要素与脚本要素的对应关系,针对不同类型的扩展测试函数提出了基于关键字索引和图像建模的脚本函数自动生成方法,并且从脚步的解析与调度两方面分析了Python测试脚本的驱动执行原理,使嵌入式软件GUI自动化测试平台支持Python脚本的创建并通过脚本的执行实现GUI软件自动化测试,并且提高了测试控制的易用性和灵活性。
部分文件列表
文件名 | 大小 |
基于Python语言的GUI自动化测试脚本技术研究.pdf | 1M |
部分页面预览
(完整内容请下载后查看)计 算 机 测 量 与 控 制
! "
!"#$%!"& $#
!
!
自 动 化 测 试 技 术
"""""""""""""""""""""""""""""""""""""""""""""""""""""
#
#
!"# %&'( )'*+%('#',& - !",&(".
$
&&&#
!
!
文 章 编 号 !
"
$+)$ '%(*"#$%$# &&&# #&
#
!
,-.$#!$+%"+ !0123!$$4')+"5 !"#$%!$#!#"'
!! !!
$
$
中 图 分 类 号 !
T]&$$
文 献 标 识 码 !
:
/
6
基 于
语 言 的
自 动 化 测 试 脚 本 技 术 研 究
K&0",
7
UNM
吴立金! 简 阳! 张 凯! 唐龙利! 韩新宇
!
!
!中 国 船 舶 工 业 综 合 技 术 经 济 研 究 院 &北 京
"
$###*$
!
摘 要 !为 解 决 嵌 入 式 软 件
测 试 自 动 化 控 制 问 题 &提 出
H[.
测 试 脚 本 扩 展 嵌 入 的 方 法 &采 用 开
源
库
将
\JJ@5!]5FJ1 ]5FJ1
A
]5FJ1
A
A
解 析 器 嵌 入
自 动 化 测 试 平 台 软 件 中 &并 为
H[.
软 件 测 试 行 为 扩 展 了 测 试 函 数 &建 立 了 用 例 要 素
H[.
与
脚
本
要
素
的
对
应
关
系 &针 对 不 同
类 型 的 扩 展 测 试 函 数 提 出 了 基 于 关 键 字 索 引 和 图 像 建 模 的 脚 本 函 数 自 动 生 成 方 法 &并 且 从 脚 步 的 解 析 与 调 度 两 方 面 分 析 了
测 试 脚
]5FJ1
A
本 的 驱 动 执 行 原 理 &使 嵌 入 式 软 件
了 测 试 控 制 的 易 用 性 和 灵 活 性 %
自 动 化 测 试 平 台 支 持
H[.
脚 本 的 创 建 并 通 过 脚 本 的 执 行 实 现
软 件 自 动 化 测 试 &并 且 提 高
]5FJ1
A
H[.
关 键 词 !测 试 脚 本 $图 像 用 户 界 面 $自 动 化 测 试 $脚 本 生 成 $
]5FJ1
A
语 言
I'60,"." *2"%&UNMI'+&/6(1&E*+'8",K&0",
G7 $ 7
& & & &
KIM331 L3=1_=1 EF=1 N=3 T=1 MJ1>3 S=1f31I
G
/
G
G
G
A
!
&
A
&
BF31=.1@535I5;JPC=<31;T;0F1J>J V X0J1J? \;331 $###*$ BF31=
GA / G!
"
'
&
32+&(*6& QJ<5F; <JO>;?JP;?O;RR;R@JP5Y=<;H[.=I5J?=5305;@50J15<J> 5F3@ =;<@5IR3;R5F;;`5;1@3J1=1R;?O;RR31 5;0F1J>J
66 GA
6
G
4 &
JP]5FJ1@5;@5@0<35@ ;`5;1R;R5F;5;@5PI1053J1PJ<H[.5;@531 O;F=U3J<=1R;?O;RR;R5F;]5FJ1315;<<;5;<J1H[.5;@5=I5J?=53J1
A
A
6
G
6
, - &
@@5;?@I@31 5F;J;1@JI<0;>3O<=<3;@ \JJ@5!]5FJ1 !\;@3R;@ Y;R;@0<3O;R5F;0J<<;@J1R;10;O;5Y;;15F;;`5;1R;R5;@5PI1053J1=1R
A
A
G
6
6
&
5F;5;@5O;F=U3J<=1RPJ<R3PP;<;155 ;@JP;`5;1@3J15;@5PI1053J1 Y; <JJ@;R=I5J?=530 ;1;<=53J1@J>I53J1O 2; YJ<R31R;`=1R3?=;
A6 6 6
G
A
A
G
& &
?JR;>31 !Q31=>> Y;;`>=31;RFJY5J@0F;RI>;=1R;`;0I5;]5FJ1@0<35@!\=@;RJ15F;=OJU; 5F;H[.5;@5 >=5PJ<?0=1;`;0I5;H[.
A
G
A
6
6
6
5;@5=I5J?=530=>> =1R5F;5;@50J15<J>3@;=@ =1RP>;`3O>;!
A A
'
$
$
$
<'="(8+ 5;@5@0<35@ H[. =I5J?=5305;@5 @0<35 ;1;<=53J1 ]5FJ1
6 G
$
6
A
7
平 台 提 供 的 接 口 &完 成 函 数 名 称 (返 回 值 类 型 (参 数 三 方 面 扩
)*
%
引 用
>
!
展 &然 后 将 该 测 试 函 数 归 入 一 种 测 试 行 为 %
解 释 器 嵌 入 和 脚 本 解 释 器 的 扩 展 要 在
用 脚 本 来 描 述 测 试 用 例 &并 通 过 测 试 平 台 上 的 脚 本 解 释 器
)*
$
自 动 化
]5FJ1
A
H[.
来 执 行 测 试 用 例 是 一 种 有 效 的 测 试 方 法
%测 试 脚 本 是 由 脚 本
测 试 平 台 软 件 实 现 &本 文 采 用 基 于
的
\JJ@5 ]5FJ1
A
脚 本 扩 展
语 言 编 写 的 具 有 正 规 语 法 的 数 据 和 指 令 的 集 合 &而 脚 本 语 言 实
)*
"
式 嵌
入
方
式 %
是
一
个
久
负
盛
名
的
代 码 库 &
\JJ@5
B b b
际 上 就 是 一 种 编 程 语 言
脚 本 语 言 是
&例 如 &
的
gI302T;@5]<JP;@@3J1=>
是 开 发 组 专 门 为
\JJ@58]5FJ1 \JJ@5
A
+
Bb b ]5FJ1
A
直 接 的 互
兼 容 封
&
9\D0<35 C=<=5FJ1
6
的 脚 本 语 言 是
)*
&
&它 们
]5FJ1
A
操 作 而 开 发 的 类 库 &除 了 提 供
的
]5FJ1B :]. Bb b
A
大 多 是 解 释 语 言 &为 的 是 调 试 起 来 更 方 便
%
是 一 种
]5FJ1
A
装 &也 使 得 整 个 扩 展 +嵌 入 过 程 更 加 方 便 &其 有 以 下 特 点 ' "
$
高 级 编 程 动 态 编 程 语 言 &简 单 易 用 &具 有 扩 展 性 &且 能 实 现 复
对 于
基 于 对 象 的 体 系 结 构 &提 供 了 一 组 封 装 对 象 给 予
]5FJ1
A
杂 的 功 能 &适 合 完 成 各 种 高
层
任 务 % 本
)*
'
文
针
对
嵌
入
式
软
件
测
支 持 &除 了 基 本 的
对 象 &还 包 括 了 序 列 容 器 组 % "
"
] -O;05
A /
自 动 化 测 试 平 台 的 开 发 设 计
&将
应 用 于
H[.
]5FJ1
A
H[.
对 于 函 数 和 对 象 封 装 &提 供 了 一 套 更 为 友 好 的 方 式 %例 如 &在
试 领 域 &从 测 试 脚 本 扩 展 嵌 入 技 术 (测 试 脚 本 生 成 技 术 和 脚 本
函 数 声 明 的 参 数 列 表 中 出 现 可 以 与
类 型 直 接 对 应 的
]5FJ1
A
驱 动 执 行 技 术 三 方 面 研 究 基 于
语 言 的
自 动 化 测 试
]5FJ1
A
H[.
(
(
315 P>J=5
等 &不 需 要 手 动 进 行 与
的 转 化 &
0F=<
] -O;05
A /
(
(
脚 本 技 术 &使 嵌 入 式 软 件
自 动 化 测 试 平 台 支 持
脚
]5FJ1
A
H[.
可 以 识 别 这 些 类 型 % "由 于
&
使 用 动 态 类 型 &对 于
]5FJ1
A
]^
A
本 的 创 建 与 执 行 %
代 码 &函 数 重 载 没 有 语 法 依 据 &但 在
代 码 中 可 能 会
5FJ1
Bbb
测 试 脚 本 扩 展 嵌 入 技 术
?
!
需 要 重 载 多 个 函 数 定 义 &
对 此 也 有 支 持 %
需 要 预 编 译 才 能 使 用 %编 译 生 成
\JJ@58]5FJ1
A
基 于
的
E""+& K&0",
7
脚 本 扩 展 式 嵌 入 技 术
文
?A?
!
\JJ@5!]5FJ1
A
,MM
在 测 试 平 台 中
测 试 脚 本 能 够 灵 活 的 创 建 与 执 行 需
件 &
\JJ@5!]5FJ1
A
的 编 译 需 要 使 用
6
5FJ1ff R!>3O
6A
(
6A
]5FJ1
A
^
要 以 下 三 部 分 ' "测 试 脚 本 编 辑 '根 据 测 试 用 例 将 测 试 的 输
$
6 !
5FJ1ff R8R>> ffc
主 版 本 号 一 级 子 版 本 号 " 以 及
b
]^
A
入 (输 出 (判 断 等 操 作 以 脚 本 形 式 描 述 $ "
"
解 释 器 嵌
%基 于
5FJ18F
的
\JJ@5 ]5FJ1
A
脚 本 扩 展 式 嵌 入 通 过 以 下 步 骤
]5FJ1
A
入 '将
解 释 器 嵌 入 到 嵌 入 式 软 件
自 动 化 测 试 平 台
完 成 '
]5FJ1
A
H[.
的 程 序 中 &使 其 具 备 基 本
语 言 的 解 释 执 行 能 力 $ "脚
&
"引 用
的
\JJ@58]5FJ1
A
头
文
件
+
OJJ@5 5FJ18F
6A 667
&
]5FJ1
A
$
$
本 解 释 器 的 扩 展 %在 解 析 器 层 次 上 扩 展 &根 据 用 户 需 求 &利 用
命 名 空 间 是
''
OJJ@5
%然 后 加 载
5FJ1
6
和
OJJ@5
5FJ18>3O
6A
6A
6
%
OJJ@5
5FJ18R>>
6A
收 稿 日 期 !
$
"#$% #' $$
!
修 回 日 期 !
%
"导 出
函 数 %首 先 使 用
6
\--DT ]_TS-7
6
"#$% #% $+
"
Bb b
作 者 简 介 !吴 立 金 !
$(*)
"&男 &主 要 从 事 为 软 件 测 试 与 软 件 可 靠 性
宏 定 义 需 要 导 出 给
的 模 块 &然 后 用
''
OJJ@5
C-,[MX
]5FJ1
A
方 向 的 研 究 %
''
5FJ1 R;P
6A
语 句 定 义 导 出 的 函 数 (参 数 列 表 %
第
期
吴 立 金 &等 '基 于
语 言 的
自 动 化 测 试 脚 本 技 术 研 究
H[.
#
#
$#
]5FJ1
A
&&&$
!
""""""""""""""""""""""""""""""""""""""""""""""""""""
"为
初 始 化
模 块 %使 用
6
\--DT ]_^
数 据 的 输 入 和 输 出 行 为 &底 层 驱 动 函 数 有
种 '
D;1RTJ7;5
&
]5FJ1
A
Bb b
'
6 !
TS-7 C-,[MX 1=?;
"定 义 了
模 块 后 &该 宏 会 自
!"之 后 调 用
!"(
!"(
!"(
]5FJ1
A
W;0UQ<J?7;5
D;1RTJD;<3=>
W;0UQ<J? D;<3=>
动 生 成 一 个 函 数
&需 要 在
6
!"%
和
D;1RTJ7;5 W;0UQ<J?7;5
函 数 模 拟 通 过 网 络 接 口 向 被
31351=?;
]
.1353=>3a;
A
这 个 自 动 生 成 的 函 数 &初 始 化 导 出 到
的 模 块 %例 如 &导
测 件 的 输 入 与 接 收 行 为 &其 参 数 包 括 网 络 协 议
组 播 "( 数 "$
!
(
TB] [,]
(
]5FJ1
A
出 模 块 用 的 宏
6
\--DT ]_TS-7
6
!
C-,[MX I23
A
"&调
据
类
型
!
(
\=@30 \>J02 D;1RTJD;<3=>
和
W;0U^
用
6
!"来 开 启 解 释 器 并 且 生 成
6
6 模 块 &然
函 数 模 拟 通 过 串 口 向 被 测 件 的 输 入 与 接 收 行 为 &其
Q<J?D;<3=>
]
A
.1353=>3a;
?=31
后 初 始 化 该 模 块 调 用
!"%
参
数
包
括
串
口
协
议
!
( (
WD"&" WD'"" WD'*%
"( 数 据 类 型
3135I23
A
"
' 0b b
的 平 台
软
件
调
用
脚
本 % 利
用
6
!
(
\=@30 \>J02
"%
5FJ1
6A
] WI1
A
或
6
] WI1 D5<31
A
执 行
脚 本 指 令 %另 外 &
D3?>;D5<31
6
]5FJ1
A
G
G
测 试 脚 本 生 成 技 术
@ K&0",
!
7
与
Bbb ]5FJ1
A
交 互 使 用 还 常 用 以 下 函 数 '
6
将
]
A
\I3>R9=>I;
测 试 用 例 转 换
@A?
!
转 换 成
类 型 $ 6 函 数 加
].? J<5 .? J<5CJRI>;
6
Bbb
]5FJ1
A
A
6
测 试 用 例 转 换 是 实 现 文 本 测 试 用 例 转 换 为 测 试 脚 本 的 技
术 &目 的 是 让 计 算 机 自 动 识 别 测 试 用 例 中 数 据 (行 为 和 控 制 要
素 &以 实 现 嵌 入 式 软 件 测 试 用 例 自 动 执 行 %为 实 现 测 试
载
模 块 $
''
'' 6
5FJ1 0=>> ?;5FJR
调 用
]5FJ1
A
OJJ@5
]5FJ1
A
6A
函 数 等 %
H[.
通 过 以 上 步 骤 &将
语 言 嵌 入 在
自 动 化 测 试 平
H[.
]5FJ1
A
用 例 转 换 &需 要 建 立 测 试 脚 本 中 相 应 的 要 素 与
中 的 数 据 (行 为 和 控 制 要 素 相 对 应 %
"用 例 数 据 变 量 与 脚 本 变 量 对 应 '根 据
测 试 用 例
H[.
台 软 件 中 &二 者 有 机 结 合 &使 平 台 软 件 能 够 运 行 支 持
测
H[.
试 的
脚 本 %
]5FJ1
A
测 试 用 例 中
$
H[.
测 试 函 数 扩 展
?A@
!
所 涉 及 的 变 量 类 型 &确 定 测 试 脚 本 中 相 对 应 的 变 量 类 型 &必 要
时 可 在 脚 本 解 析 器 中 扩 展 定 义 新 的 变 量 类 型 %
测 试 脚 本 需 要 模 拟 对 被 测 件 的 操 作 行 为 和 测 试 逻 辑 控 制 行
为 &对 被 测 件 的 操 作 行 为 需 要 扩 展 出 针 对 测 试 的 测 试
H[.
"用 例 逻 辑 与 脚 本 中 控 制 逻 辑 对 应 '测 试 用 例 中 执 行 控
"
函 数 %
"测 试 脚 本 控 制 函 数 '测 试 脚 本 控 制 函 数 是 测 试 脚 本 执
制 包 括 顺 序 (分 支 (循 环 等 控 制 条 件 &根 据
语 言 中 自
]5FJ1
A
$
身 的
(
3P YF3>;
等 控 制 语 句 实 现 %
行 的 入 口 &其 入 口 标 志 是 脚 本 解 析 器 解 析 出 的
!"函 数 关
WI1
"测 试 行 为 与 脚 本 函 数 对 应 '根 据
测 试 用 例 中 控 件
H[.
&
键 字 % 函 数 参 数 的 脚 本 即 为 需 控 制 执 行 的 测 试 脚 本 %脚 本
解 析 器 解 析 出 函 数 后 &自 动 调 用 和 解 析 相 应 的 测 试 脚 本 &
WI1
操 作 &将 控 件 事 件 对 应 到 相 应 的 用 户 行 为 &进 而 对 应 到 脚 本 相
应 的 驱 动 关 键 字 &即 与 脚 本 中 相 应 的 驱 动 函 数 对 应 %用 户 行 为
是 通 过 脚 本 关 键 字 输 入 不 同 参 数 进 行 模 拟 的 %用 户 行 为 与 脚 本
WI1
解 析 出 测 试 脚 本 中 的 控 制 关 键 字 &根 据 控 制 关 键 字 控 制 测 试 脚
本 驱 动 执 行 %另 外 &还 有 控 制 脚 本 等 待 (中 断 (等 待 事 件 等
函 数 %
关 键 字 对 应 关 系 如 表
所 示 %
$
表
用 户 行 为 与 脚 本 关 键 字 对 应 关 系
$
!
"鼠 标
键 盘 模 拟 函 数 '鼠 标
键 盘 模 拟 函 数 模 拟 鼠 标
"
6
6
用 户 行 为
脚 本 关 键 字
键 盘 的 操 作 行 为 &向 被 测 嵌 入 式 软 件 发 送 鼠 标
键 盘 的 操 作
函 数 模
6
6
按 键 点 击 !字 符 按 键 "
!"
信 息 %鼠 标 键 盘 按 键 行 为 的 驱 动 函 数 有
个 '
CJI@;]<;@@
%
D;1RN;
A
按 键 点 击 !删 除 (回 退 键 "
!"
D;1RN;
A
拟 键 盘 的 按 键 激 励 行 为 &其 参 数 为 键 名 和 按 键 次 数 $
N;]<;@@
A
组 合 按 键
!
DF3P5b
上 +下 +左 +右 "
!"
D;1RN;
A
模 拟 键 盘 的 按 键 信 息 输 入 行 为 &其 参 数 为 键 名 和 按 下 或 弹 起 选
择 $ 函 数 模 拟 鼠 标 的 移 动 到 某 绝 对 位 置 的 行 为 &
组 合 按 键
组 合 按 键
!
("
B5<>bf
!"
D;1RN;
A
CJI@;CJU;TJ
!
"
B5<>bB
!"
D;1RN;
A
其 参 数 为
坐 标 ( 坐 标 $
$
函 数 模 拟 鼠 标 的 相 对
"
CJI@;CJU;
鼠 标 点 击
!"
!"
!"
CJI@;B>302
CJI@;B>302
CJI@;B>302
!"$
移 动 &相 对 移 动 的 横 坐 标 和 纵 坐 标 $
函 数 模 拟 鼠
CJI@;B>302
鼠 标 单 击
鼠 标 双 击
标 的 点 击 行 为 &其 参 数 为 点 击 的 左 +右 键 和 点 击 次 数 $
CJI@;^
模 拟 鼠 标 的 左 右 键 按 下 或 弹 起 行 为 &其 参 数 为 左 +右 键
,JY1
鼠 标 移 动
!"
CJI@;CJU;TJ
CJI@;CJU;
标 识 和 按 下 与 弹 起 标 识 %
鼠 标 按 下 拖 动
用 户 等 待
!"
!"
CJI@;]<;@@
V CJI@;CJU;
"
图 像 信 息 处 理 函 数 '
图 像 收 集 函 数 是 在 鼠 标
键 盘 操 作 后 &对 被 测 件 反 应 后 的 图 像 信 息 进 行 收 集 &以 便 与 预
期 输 出 的 断 % 个 '
BJ? =<;.?=;
&
H[. H[.
!"
K=35
用 户 观 察 图 像
用 户 观 察 文 字
网 口 发 送 与 接 收 数 据
串 口 发 送 与 接 收 数 据
!"$或
!"$
BJ? =<;.?=;
6 G
Q31R.?=;
G
!"
图
像
进
行
比
对
判
图 像 收 集 函 数 有
-BW
H[.
&
!"$
W;0UQ<J?7;5
!"
!"
D;1RTJ7;5
函 数 实 现 图 片 比 对 行 为 &其 参 数 为 基 准 图 像 名
6
G
!"$
D;1RTJD;<3=>
W;0UQ<J?D;<3=>
称 及 对 比 区 域 &通 过 与 实 际 输 出 图 片 比 对 &返 回 比 对 成 功 或 失
败 的 消 息 $ 函 数 实 现 图 片 查 找 行 为 &其 参 数 为 基 准
Q31R.?=;
G
测 试 脚 本 的 自 动 生 成 技 术
图 像 名 称 及 匹 配 区 域 &通 过 在 实 际 输 出 像 中 查 找 是 否 包 含 预 期
输 出 图 片 &返 回 查 找 成 功 或 失 败 的 消 息 $ !"函 数 实 现 图
@A@
!
"基 于 关 键 字 索 引 的 脚 本 函 数 自 动 生 成 '在 脚 本 编 辑 界
$
-BW
面 &每 当 按 下 ,-键 &自 动 出 现 关 键 字 索 引 列 表 &给 出 相 应
8
文 字 比 对 行 为 &其 参 数 为 基 准 图 像 名 称 及 识 别 区 域 &返 回 识 别
的 文 字 信 息 %
的 关 键 字 函 数 &函 数 后 面 有 相 应 的 注 释 &根 据 注 释 在 函 数 中 输
入 测 试 数 据 参 数 &是 利 用 脚 本 关 键 字 的 自 动 输 入 %
"数 值 型 数 据 输 入 输 出 函 数 '嵌 入 式 软 件 通 常 具 有 较 多
'
语 言 语 法 简 单 易 用 &针 对 典 型 代 码 段 可 采 用 基 于
的 外 围 交 联 设 备 &在
测 试 中 &通 常 包 含 外 围 交 联 设 备 向
]5FJ1
A
H[.
模 板 的 文 字 输 入 &例 如 将
( ( 等
3P YF3>; PJ< ]5FJ1
A
语 言 的 关 键
被 测 嵌 入 式 软 件 输 入 数 据 和 从 被 测 嵌 入 式 软 件 接 收 数 据 的 行
为 %输 入 和 输 出 接 口 通 常 有 以 太 网 和 串 口 两 种 形 式 %为 了 模 拟
结 构 作 为 模 板 给 予 提 示 &可 以 通 过 粘 贴 方 式 粘 到 脚 本 界 面 中 %
全部评论(0)