Nightwarch v1.3 介绍

Nightwatch js 是我之前写自动化测试用例使用了很长一段时间的测试框架,我当时的使用 v0.9 版本并且对使用和 API 进行了翻译。作为一名前测试工程师,对于自动化的知识不能不更新下自己的知识库,一转眼 Nightwatch 1.3 版本已经发布了,可以看到它在 GitHub 上的使用和关注度还是很高的。

Nightwatch star 数量

Nightwarch.js 是一个端到端的基于 Node.js 使用 W3C Webdriver (以前是 Selenium )的自动化测试框架。它是一个完整的集成解决方案,用于 web 应用程序和网站的端到端测试,以及 Node.js 单元测试和集成测试。

Read More

How to use JMeter to do Performance Testing

Record JMeter Scripts

use JMeter’s HTTP(S) Test Script Recorder, please refer to this official document https://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.html

Running JMeter Scripts

  • Debug scripts on JMeter in GUI Mode

    You can debug your record scripts in GUI Mode until there are no errors

  • run test scripts in Non-GUI Mode(Command Line mode) recommend

    jmeter -n -t ..\extras\Test.jmx -l Test.jtl

Read More

Synchronize from Bitbucket to GitHub via Jenkins

背景

最近我们团队需要将一些示例和例子从内部的 Bitbucket 同步到 GitHub。我了解 GitHub 可以创建公共的或是私人的仓库,但我们需要保持以下两点

  • 只分享我们想给客户分享的内容
  • 不改变当前的工作流程,即继续使用 Bitbucket

Read More

Jenkins 与 Bitbucket Webhooks 的配置和使用

问题

Jenkins 的 multi-branch pipeline 想必很多人已经在用了,使用这种类型的 Jenkins Job 最显著的作用就是可以对 Git 仓库里的任何分支和任何 Pull Request(以下简写为 PR)进行构建。

在做 Jenkins 与 Bitbucket 的集成时,需要安装插件:Bitbucket Branch Source,可以通过该插件在 Jenkins 里进行 webhook 的配置。这种方式对于没有 Bitbucket 仓库的管理权限,CI/CD 暂且处于变更比较频繁的阶段,不想麻烦的去申请添加 webhook 的同学来说是非常友好的,就是可以不用通过管理员在 Bitbucket 设置里添加 webhook 也可以实现创建 PR 后触发 Jenkins 构建。

但我最近遭遇了两次:在创建 PR 后没有触发 Jenkins 自动构建,查了 Jenkins 和 Bitbucket Branch Source 插件的配置,并没有任何改动,也各种 Google 之后也没有找到相应的解决办法(如果有遇到此情况的小伙伴欢迎一起交流)。

那既然这条路不稳定,不好走,那就走一条可以走通的路、直接的硬路,即在 Bitbucket 对应的仓库中添加 webhooks。

Read More

Bitbucket Webhooks Configuration

Background

I have set several multi-branch pipeline and it can support Bitbucket Pull Request build. So, when developer create a Pull Request on Bitbucket, Jenkins can auto-trigger PR build. but this jenkins-plugin may not very stable, it had not work two times and I actually don’t know why it does that. But I know the use Git webhook is a direct and hard approach could solve this problem. After my test, the answer is yes. it works as expect.

Read More

三种方法解决 Jenkins 声明式流水线 Exception Method code too large !

这是我第二次在使用 Jenkins 声明式流水线的时候遇到了这个问题,第一次遇到这个问题的时候是在一个 Pipeline 里大概写到 600 多行时候遇到如下错误

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during class generation: Method code too large!

java.lang.RuntimeException: Method code too large!
at groovyjarjarasm.asm.MethodWriter.a(Unknown Source)
[...]

Read More

DevOps Top 30+ 面试问题

DevOps术语和定义

  1. 什么是DevOps

    用最简单的术语来说,DevOps是产品开发过程中开发(Dev)和运营(Ops)团队之间的灰色区域。 DevOps是一种在产品开发周期中强调沟通,集成和协作的文化。因此,它消除了软件开发团队和运营团队之间的孤岛,使他们能够快速,连续地集成和部署产品。

  2. 什么是持续集成

    持续集成(Continuous integration,缩写为 CI)是一种软件开发实践,团队开发成员经常集成他们的工作。利用自动测试来验证并断言其代码不会与现有代码库产生冲突。理想情况下,代码更改应该每天在CI工具的帮助下,在每次提交时进行自动化构建(包括编译,发布,自动化测试),从而尽早地发现集成错误,以确保合并的代码没有破坏主分支。

  3. 什么是持续交付

Read More

2021 年务必知道的最好用的 14 款 CI/CD 工具

“Quality at Speed” 是软件开发中的新规范。

企业正在朝着 DevOps 方法论和敏捷文化迈进,以加快交付速度并确保产品质量。在 DevOps 中,连续和自动化的交付周期使快速可靠的交付成为可能的基础。

这导致我们需要适当的持续集成和持续交付(CI/CD)工具。 一个好的 CI/CD 工具可以利用团队当前的工作流程,以最佳利用自动化功能并创建可靠的 CI/CD 管道为团队发展提供所需的动力。

随着市场上大量 CI/CD 工具的出现,团队可能难以做出艰难的决定来挑选合适的工具。该列表包含市场上最好的 14 种 CI/CD 工具及其主要特性,使你和团队在选择过程中更加轻松。

Read More

如何给你的 Git 仓库“瘦身”

对 Git 仓库的维护通常是为了减少仓库的大小。如果你从另外一个版本控制系统导入了一个仓库,你可能需要在导入后清除掉不必要的文件。本文主要讨论如何从 Git 仓库中删除不需要的文件。

Read More

一款免费的 C/C++ 静态代码分析工具 Cppcheck 与 Jenkins 集成

由于历史遗留原因,我们当前产品的代码仓库里遗留很多 Warning,这些 Warning 不是一时半会可以解决掉的。只有通过不断的丰富自动化测试用例,来保障最后的质量关卡,才敢有条不紊的进行 Warining 的修复,在次之前,如何有效杜绝继续引入更多的 Warining 是当下应该做的。

Read More