基于GUI测试工具Squish的使用

article/2025/9/18 20:10:51

转载自:http://www.readingday.cn/squish-for-qt-2/

申请Squish试用

浏览器打开Squish官网(https://www.froglogic.com/squish/free-trial/),填写试用申请表。您需要提供一个有效的邮箱地址,以便接收到Squish官方所发送的相关信息。

激活信息会在提交申请后的24小时之内通过邮件的形式发送至您申请时所填写的邮箱地址。

在填写试用申请表的国家一项时,请不要选择中国。我们发现如果申请表国家一栏选择中国时,Squish的试用申请信息会被转交给Squish在中国方面的代理商,届时您需要提供公司的相关信息才能获得激活码和下载链接。

目前官方提供的试用期限为 10天(不是30天)。

下载Squish安装包

当试用申请通过以后,Squish官方会发送一个登录账号信息到您的注册邮箱中。用户名为您注册时填写的邮箱地址,密码为随机的8位字符。浏览器打开(http://www.froglogic.com/secure/)页面,填写正确的登录信息,即可登录Squish的下载页面。此页面同时提供软件的激活码信息。

针对本次自动化测试项目,您需要下载对应的Squish版本squish-6.2.0-qt55x-win32-msvc10.exe

查看此Squish文件的命名,我们可以得到以下信息:

  • Squish 6.2.0 版本
  • 基于Qt 5.5.x对象库
  • Windows 32bit
  • 软件在Microsoft Visual Studio 2010下编译完成

Squish的安装

在开始运用Squish进行测试前,请确保电脑中成功安装了基于GUI自动化测试的Squish for Qt工具。同安装绝大多数Windows平台应用程序一样,Squish for Qt的安装过程只需要一路默认安装即可。

进行Squish for Qt安装(此处以版本6.1.0进行示例安装)

  1. 执行安装

    双击先前下载的程序squish-6.1.0-qt55x-win32-msvc10.exe,开始安装

  2. 输入有效的Squish激活码

  3. 同意试用许可协议

  4. 选择Squish的安装目录

  5. 创建“桌面”与“开始菜单”快捷方式

  6. 执行安装

  7. 完成Squish for Qt安装

新建测试项目集、测试用例

Squish for Qt的集成开发环境类似于Eclipse。如果您原先熟悉Eclipse软件,相信您会很快掌握Squish for Qt的开发环境。

创建项目集:

  1. 依次打开菜单 File | New… | Squish Test Suite

  2. New Squish Test Suite对话框,填写项目名称并选择项目存储路径

  3. 点击Next >进入编程语言选择对话框;本项目选择JavaScript语言作为编程语言

  4. 点击Next >进入测试程序选择对话框,选择被测试的程序(AUT

  5. 点击Finish完成新建项目集的操作
  6. 在刚刚新建的项目集中,增加一个测试用例,即可以进行测试脚本的开发事宜

项目集名称以“suite_”开头;测试用例以 “tst_”开头。

运行测试用例

首先,加载被测试程序(AUT)

点击Test Suite Settings | Application Under Test (AUT)加载被测试程序。

运行单个测试用例

双击打开所要运行的测试用例,执行(Run | Run Test Case)即可启动被测程序按脚本先后顺序进行测试。

批量运行测试用例

勾选所要进行测试的脚本,执行(Run | Run Test Suite)即可启动被测程序。Squish for Qt会按照一定的顺序运行勾选的各个脚本。

测试结果的查看

自动化测试结果会以日志记录的方式呈现Test ResultsWindow | Show View… | Other… | Squish Tests | Test Results)。在每次自动化测试完成后,Squish for Qt均会生成测试结果日志。此日志包括:

  • Pass Messages(测试中通过的消息)
  • Expected Fail Messages (测试中预期失败的消息)
  • Fail Messages (测试中失败的消息)
  • Unexpected Pass Messages (测试中未预期通过的消息)
  • Error Messages (测试中错误的消息)
  • Fatal Messages (测试中严重错误的消息)
  • Warning Messages (测试中警告的消息)
  • Log Messages (测试中日志记录的消息)

Squish for Qt提供了一个针对不同日志消息进行分类筛选(Filter the Results)的功能。利用此功能,您可以筛选出自己最想要看到的测试结果。当您最想知道测试结果中Error Messages一类消息时,可以将其它消息进行去除“勾选”,只保留Error Messages,这样筛选出来的消息即只有Error Messages一类。

结果文件由XML转成HTML

您可以在集成开发环境(Squish for Qt)中查看日志信息,但这终究不方便。聪明的您可能会想到,是不是有其它更为便捷的方式进行报告查看?为方便测试结果的查看与测试中出现的问题定位,您需要将测试结果日志导出,并进行格式转换。

导出XML文档

Test Results区域右键点击,选择Export Results…将测试结果以XML格式导出保存。

在导出的保存位置对话框中,您可能注意到其“保存类型(T)”为 Squish Report Files(v3)。这里的v3代表着SquishReport version 3.1,即此版本的XML报告结构是基于Squish xml schema 的3.1版本进行的。

XML文档转换成HTML文档

Squish for Qt安装目录下存在一个名为regressiontesting的目录。位于这个目录下的两个Python文件可以将XML转换为HTML格式。

  • squishxml2html.py

    适合Squish xml 2.0版本的文件。

  • squishxml3html.py

    适合Squish xml 3.1版本的文件。

下面将进行文档格式转换的处理,在此之前请确保您的机器安装有 Python 2.7

将xml(以results.xml为例)结果文件放于与 squishxml3html.py(请依据Squish xml的版本进行选择)同一目录下。

命令行模式下进入此目录,执行以下代码:

python squishxml3html.py ./ results.xml

运行上述代码即可在同一目录下生成results.html、index.html文件。

  • index.html(测试报告概要)
  • results.html(自动化测试详细内容)

通过浏览器打开results.html,可以查看测试结果的详细内容。

官方提供的Python脚本在处理中文字符时会出现问题,需要更改一下编码类型。

解决方法是加入以下两句话

reload(sys)
sys.setdefaultencoding( "utf-8" )

更新后的部分代码类似于下图所示

squishxml3html.py文件已经上传至Git代码库。相较于官方提供的版本,此squishxml3html.py脚本更改了不同消息的呈现颜色,并加入了Warning Messages类的消息统计。



http://chatgpt.dhexx.cn/article/a9QbvVdw.shtml

相关文章

浅析如何利用Squish实行 GUI自动化测试

1.引言 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的系统操作用户界面。是软件与用户进行交互的主要方式,与早期计算机使用的命令行界面相比,图形界面对于用户…

关于Squish的介绍和简单使用说明

网络研讨会 | Squish for Qt: 为Qt应用量身打造的自动化测试工具_哔哩哔哩_bilibiliSquish是一款跨平台、支持多种开发技术的GUI自动化测试工具,基于对象识别的GUI自动化测试工具、支持各类操作系统、可为多种技术开发的应用程序提供GUI自动化测试。操作简单、脚本语…

3乘3魔方第四步_三阶魔方第四步

三阶魔方的第四步是顶棱翻色,首先转出黄色的顶层十字,将魔方顺时针旋转九十度,转到红色的一面,右边顺时针旋转九十度,将底层的白色面转动到上面,顶层再顺时针旋转九十度,右侧逆时针旋转九十度&a…

java还原三阶魔方_魔方小站四阶魔方教程2 一看就懂的魔方教程(魔方玩法视频教程+还原公式一步一步图解+3D动画)...

形成下图的样子, 这一步很简单,只需要学会一个很好理解的技术就行了,请看下面标准情况的例子,魔方 您可以用鼠标拖拽3D动画里的整个魔方,以看到魔方背面的变化。 TR U R U 我们要合并位于前面的这一对红白棱块 合并棱块。 将合并好的一对红白棱块转到右面。 旋转右面,你要…

魔方cfop公式软件_【番外篇】八大魔方快速还原法图解介绍汇总大全!

本篇在上一篇文章的基础上,主要介绍目前魔方圈主流的速拧还原解法。 本篇文章仅介绍主流的快速还原法即 速拧解法,不包括其他初级玩法等,初级玩法也很多(笑面虎、8355、棱先、角先等等),甚至有些独立还原者能创造属于自己的解法,有些解法思路巧妙,有些解法容易上手,总…

二阶魔方还原 - 4步2公式

三阶魔方的公式记录在 https://blog.csdn.net/Bob__yuan/article/details/86546920,这是只需要记7个公式就可以三阶魔方还原法,本文为二阶魔方“傻瓜还原法”,即不需要另外再记公式,只需要会上述三阶魔方中的2个公式就可以还原的方…

UTF-8转码GBK

昨天一个大学的同学问了一个关于utf-8转码gbk的问题,所以两个人一起讨论了一下关于utf-8转码成为GBK的乱码原因。 正常情况下如果我们需要将UTF-8格式转码为GBK,我们会需要经过这样一个中转: 通常情况下如果直接转码会出现一种情况就是GBK转码…

python常用英语词汇(持续更新)

✅作者简介:大家好我是hacker707,大家可以叫我hacker 📃个人主页:hacker707的csdn博客 🔥系列专栏:python 💬推荐一款模拟面试、刷题神器👉点击跳转进入网站 一直有人问我,自己英语不…

Python常用英文单词【最强总结】

嗨嗨,我是小圆,总有人在刚了解到python的时候,会考虑一个问题 英语不好能学好python吗? 当然可以,学习python用到的单词并不是很多。 今天就给大家分享一下Python常用英文单词。 一、交互式环境与print输出 1、pr…

史上最全python常用英语单词,建议收藏

于刚才是学习python这些也足够了,一天学个六七个单词记一下在配合自己寻找的视频、书籍等等方法去学习是有一定帮助的。 这里还是要说一句,仅供兴趣爱好学习使用,个人开发者(非考虑未来靠此为生的人士)我们一起学习,一起成长。 下列常用单词大家可以复制一下,自己用Word…

【web项目部署】

一: 搭建 Java 部署环境 1: 安装 JDK 2: 安装 Tomcat 总结 3: 安装 MySQL (1): 依次安装 (2): 更改配置 (3): 启动 (4): 测试连接 二: 部署 web 项目 1: 给服务器准备好依赖的数据 2: 微调我们的 Java 代码 3: 重新打包 4: 上传到服务器上 5: 验证 ——————————————…

Web项目基本结构

C/S模式的软件 客户端/服务器 比如QQ,或者一些大型游戏 用户需要先下载软件的客户端,然后才可以使用. B/S模式的软件 浏览器/服务器 我们上网时候所访问网站的基本全是B/S模式的项目. 用户不需要下载任何东西,只需要用到浏览器就可以访问到这个项目. 我们在java中要学习的web项…

web编程项目

web编程项目 一 项目要求 二 项目实现 该项目使用了以下模块: express-session:是express中的一个处理session的中间件。有以下特点:session管理(基本功能),cookie签名,可替换持久储存模块。 在app.js中,设置session的各个参数。…

IDEA(2021)创建Java Web项目

1. IDEA(2021)创建Java Web项目 1.1. 创建Java项目 创建新项目"New Projpect";选择"Java"项目,默认直接下一步 “Next”,下一步“Next”。输入项目名称“Project Name” 和 选择项目路径"Project location"&…

使用idea创建web项目

前言: 很高兴能够用自己所学知识为你提供答疑!!! 今天我就来操作下如何使用idea这款软件创建web项目。步骤: 1.创建项目 首先新建一个项目 然后选择最后一个,创建一个空白的Java项目,点击Next。 这个时…

eclipse开发web项目

对比idea开发web项目 ###1,使用eclipse开发web项目(jsp项目) 1,先将eclipse与tomcat关联一下 window->preferences->server->Runtime Environments add 还要在面版配置一次, 创建项目: File->…

java web项目的创建

1、启动Eclipse,执行菜单【File】——【new】——【other】——【web】——【Dynamic Web Project】。 2、单击【Next】按钮,进入填写工程信息界面。 3、单击【Next】按钮,进入工程配置界面。 4、单击【Next】按钮,进入工程选项界…

IDEA如何创建web项目

前言: 很多朋友可能在学习java基础的时候已经熟练掌握了IDEA创建java项目的基本步骤,但随着学习技术的不断深入,不同的IDEA版本可能在项目的创建页面上出现些许的出入,下面将细讲IDEA2021版本如何创建并部署Javaweb项目。 步骤一…

JavaWeb项目介绍

web项目:通俗的说就是在服务器上跑的项目,页面是通过服务器上的程序运算所得到的结果。常见的web项目按计算机语言分,有:Java Web(Java EE)、ASP.Net、PHP项目。 JavaWeb项目:顾名思义就是后台用java代码写的web项目。…

创建web项目

打开eclipse,打开Eclipse,将Java视图切换成JavaEE的视图: 点击【File】-【New】-【Dynamic Web Project】 写入web项目名字; 向web配置Tomcat服务器,根据项目需要 后面的选项默认,点击【Next】&#xff…