归档文章: Software Testing

使用moco搭建mockserver

下载 moco-runner-standalone

http://central.maven.org/maven2/com/github/dreamhead/moco-runner/0.12.0/moco-runner-0.12.0-standalone.jar

如果我们想实现如下的情况,

1. 请求http://localhost:port/we/bobemockedapi 时 我们自定义mock 返回数据

2. 如果请求http://localhost:port/we/* (* 除了 /we/bobemockedapi ) 其他的均自动反向代理到 另外一个服务器 http://realserver/

3. 如果没有匹配到任何规则, 则走默认的mock数据返回。 返回 {“mockserver”:”this is the default response by mock server”}
更多…

Jmeter利用props实现跨线程组的变量或者数据分享以及和vars变量对比

首先我们来看下vars和properties的区别 更多…

将本地的http请求转发到fiddler或其他的代理服务器上

服务器间请求时的debug, 通常通过日志分析。 日志量大, 以及日志不完全,非常不利于debug分析定位问题。  通常我们使用抓包工具进行。 但如果我们的服务器之间的协议主要是http 应用层, 则可以使用更灵活的方式。

如果使用tcpdump wireshark等抓包工具, 虽然也可以将所需要的数据抓取并分析。 而且可以抓到更底层的数据。 唯一不方便的是,无法进行mock数据进行返回。 抓包是将网络中的包抓取并拷贝一份, 不同于代理服务,则可以进行man in the middle  工具。 同时也可以利于我们debug和方便的mock测试数据,用于测试工作。  更多…

Jmeter 多个threadgroup 中的配置元件会一次性进行初始化

例如3个threadGroup,每一个threadGroup中都会定义了 一些配置原件,例如 用户定义变量,  jdbc 链接配置等。  当执行testplan(测试计划)时, 这些配置元件会一起初始化, 而且变量是全局共享,不是属于自己threadgroup 独立使用的。   更多…

jmeter application/x-www-form-urlencoded 参数自动添加sign签名参数以及所有参数排序脚本

jmeter application/x-www-form-urlencoded 参数自动添加sign签名参数以及所有参数排序脚本

此脚本为jsr223 beanshell类型的脚本。 具体使用请参见jmeter使用教程。

更多…

jmeter beanshell rsa公钥加密&base64加密脚本

jmeter beanshell rsa公钥加密&base64加密脚本。

使用方法请参加jmeter jsr223 sampler或者preprocessor , postprocessor。

更多…

maven jacoco生成单元测试代码覆盖率报告

更多…

jmeter 中jsr232 listener例子

目的,自己写listener是为了将测试结果格式化输出到指定的地方,便于后续阅读和整理。
此处只是简单的格式化到日志中,便于进一步整理,留有测试记录使用。

如何使用, 在jmeter中添加jsr223 listener, 语言选择javascript类型。 将如下代码加入到脚本框中。

当每次执行测试后, 打开右上角的日志(黄色的三角叹号),则可以看到日志的打印。便于上下滚动查看测试结果,比treeview 批量浏览数据时更方便。

更多…

jacoco maven 生成代码覆盖率报告

假设我们已经拿到了jacoco.exec 的代码覆盖率数据文件。

更多…

使用xvfb实现无需GUI的web UI自动化测试

假设我们使用selenium已经写好了web ui的自动化测试。 如果我们希望case跑在linux无desktop界面的服务器上,我们应该如何实现呢?

(假设您的自动化case在有desktop的gui的操作系统运行过没有问题)。

1. 在需要跑的服务器上重新配置webdriver , selenium所需要的环境。  例如作者这里使用了robotframework 框架, python解析器。 所以提前需要将所需要的库等一并全部安装成功。  (此处省略1万字, 安装所有的东西是一个比较漫长的过程,你可以边做些其他事情边玩着边装环境)

2. 安装xvfb。 sudo yum install -y xorg-x11-server-Xvfb (笔者使用centos)

3. 安装成功后,使用如下命令进行测试。

备注: 使用-screen 设定分辨率。 默认的分辨率非常小大概是800*600的样子。

xvfb-run -a –server-args=”-screen 0 1024x768x24″ /usr/local/bin/pybot –pythonpath ../verify_ui/libs/ ../verify_ui/verify_system_tests/auth_tests.robot

4. 全程无浏览器弹出,通过测试用例中的截到的图可以看到,测试正常执行了。

更多…