禅道 ZTF 发布 2.3 版本,优化用例描述格式。
2019年11月发布2.0版本之后,ZTF受到了禅道新老用户以及自动化测试人员的广泛关注。近年来,持续集成和DevOps在行业中的运用越发广泛,二者在缩短测试周期、提高测试效率和产品发布质量方面,起到了日益重要的作用。
为了更好地服务于用户,我们在2.2版本中,支持了单元、自动化测试有关框架和工具;这次发布2.3版本,主要优化了用例描述的格式,修复了一些小的问题。
ZTF支持与禅道无缝集成,可将禅道用例和测试脚本进行同步,执行结果可自动提交到禅道并生成测试报告,执行失败的用例可通过命令在禅道中创建Bug。ZTF自动化测试框架实现了与Jenkins持续集成功能的打通。用户发起Jenkins构建后,通过ZTF调度执行测试脚本,结束后把单元和功能测试的结果回传给禅道,二者合作打通了持续集成的闭环。
欢迎大家下载试用,并提出宝贵建议。
一、2.3版本更新记录:
- 更好支持主流的AutoIT、Selenium、Appium、RobotFramework和Cypress自动化测试工具,轻松完成自动化测试执行调度,并将结果和缺陷提交到禅道;
- 支持 JUnit, TestNG, PHPUnit, PyTest, Jest, CppUnit, GTest, QTest 8种单元测试框架,ZTF执行单元测试、解析测试输出、提交到禅道生成测试报告和缺陷;
- 优化用例描述格式,用户编写测试用例的步骤和期待结果时更为方便;
- 新增expect命令,用于执行测试、生成独立的测试结果.exp文件;
- 修复了一些小的问题。
二、下载地址:
三、帮助文档
四、界面展示
Jenkins集成配置:
注:第1-4行,根据禅道传过来的参数,签出对应tag或revision的代码。具体请参考禅道集成版本库和Jenkins进行构建;第5行,为使用ZTF执行JUnit单元测试的样例,更多测试框架的调用方法,请参考本手册5.9 - 5.10小节。
Jenkins自动化测试结果:
禅道自动化测试报告展示:
支持AutoIT、Selenium、Appium、RobotFramework和Cypress自动化测试,内嵌PHP运行时和Selenium Driver。相关代码可参考demo目录和这里。
Selenium自动化测试样例:
#!/usr/bin/env php <?php /** title=use ztf to run selenium test cid=0 pid=0 1. check webpage title >> 禅道_百度搜索 */ namespace Facebook\WebDriver; use Facebook\WebDriver\Remote\RemoteWebDriver; use Facebook\WebDriver\Remote\DesiredCapabilities; use Facebook\WebDriver\Chrome\ChromeOptions; include 'vendor/autoload.php'; // launch build-in selenium driver to test if (isWindows()) { $command = 'start ' . dirname(__FILE__, 3) . '\runtime\selenium\chrome80.exe >log.txt 2>&1'; // exec("CHCP 936"); } else // for no-windows system, pls download chrome driver from https://chromedriver.storage.googleapis.com/index.html { $command = 'nohup ' . dirname(__FILE__, 3) . '/runtime/selenium/chrome80 >log.txt 2>&1 &'; } pclose(popen($command, 'r')); $host = 'http://127.0.0.1:9515'; $options = new ChromeOptions(); $options->addArguments(['--no-sandbox']); // ['--headless', '--no-sandbox'] $desiredCapabilities = DesiredCapabilities::chrome(); $desiredCapabilities->setCapability(ChromeOptions::CAPABILITY, $options); $driver = RemoteWebDriver::create($host, $desiredCapabilities); $driver->get("https://www.baidu.com"); $html= $driver->getPageSource(); // print_r("$html \n"); $keywordsInput = $driver->findElement(WebDriverBy::id('kw')); $keywordsInput->clear(); $keywordsInput->sendKeys("禅道"); $submitButton = $driver->findElement(WebDriverBy::id('su')); $submitButton->click(); $driver-> wait(10, 500)-> until(WebDriverExpectedCondition::titleContains('禅道')); $title = $driver->getTitle(); //if (isWindows()) $title = iconv("UTF-8","GB2312", $title); print("$title\n"); $driver->close(); if (isWindows()) { exec('taskkill /F /im chrome80.exe'); } else { exec('ps -ef | grep chrome80 | grep -v grep | xargs kill -9 2>/dev/null'); } function isWindows() { return strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
高德 Serverless 平台建设及实践
作者 | 邓学祥(祥翼) 来源 | Serverless 公众号 高德从 FY21 财年开始启动 Serverless 建设,至今一年了,高德 Serverless 业务的峰值超过十万 qps 量级,平台从 0 到 1,qps 从零到十万,成为阿里集团内 Serverless 应用落地规模最大的 BU,这中间的过程是怎么样的?遇到过哪些问题?高德为什么要搞 Serverless/Faas?是如何做 Serverless/Faas 的?技术方案是什么样的?目前进展怎么样?后续又有哪些计划?本文将和大家做一个简单的分享。 1. Why-高德为什么要搞 Serverless 高德为什么要搞 Serverless?背景原因是高德 FY21 财年启动了一个客户端上云项目。客户端上云项目的主要目的是为了提升客户端的开发迭代效率。 以前客户端业务逻辑都在端上,产品需求的变更需要走客户端发版才能发布,而客户端发版需要走各种测试流程、灰度流程,解决客户端崩溃等问题,目前的节奏是一个月一个版本。 客户端上云之后,某些易变的业务逻辑放到云上来。新的产品需求在云端来开发,不用走月度的版本发布,加快了需求的开发...
- 下一篇
open-monitor 1.11.0 版本发布,基于 Prometheus 的分布式监控平台
open-monitor是一套基于Prometheus的分布式监控平台,适用于wecube,WeCube通过监控插件来对资源以及应用的监控及告警。此插件底层引用Prometheus,上层封装了对Prometheus的配置管理和图表展示,后端技术选型为Go + Gin + Xorm, 前端技术选型为Vue + ECharts。 此次版本包含以下内容。 新增: 1、增加历史告警定时清理; 2、调整k8s监控配置,增加namespace等信息; 3、业务日志监控支持正则匹配转换; 4、更新第三方redis-exporter版本; 5、增加监控对象采集间隔配置。 修复: 1、修复对象组阈值导入导出功能; 2、修复node_exporter进程监控大小写区分问题; 3、修复表单误操作关闭问题。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19
- CentOS关闭SELinux安全模块
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装Nodejs环境