分类 测试 中的文章

UI.Vision Kantu-基于Selenium的浏览器自动化工具

之前简单介绍过Selenium框架在Java中的简单应用,用来做基于webDriver的自动化测试非常方便。但是通过硬编码的方式虽然简单,但是也还是要写不少的代码的,今天发现了一款基于Selenium的浏览器自动化插件,支持录制和回放,完全可以将网页中的一些重复的操作录制下来,解……

阅读全文

从零开始开发一个JMeter插件

虽然JMeter自带的插件基本能满足大多数场景,但有时候也需要自定义一些插件来实现。网上的JMeter的插件开发文档稀少,通过本人的一些尝试,总结了一些JMeter插件开发相关的经验。 JMeter的核心组件 Timer 定时器,用于配置每次sampling之间的等待时间。 Sampler 取样器,如果是其他……

阅读全文

Postman高级技巧::Pre-Request-Script &Tests-Script

身为一个接口自动化测试工具,具备在运行中的动态行为不足为奇,Postman集成了一个强大的,基于NodeJS的Script引擎,利用它可以为请求以及响应添加一些动态的行为: 1)在发送请求之前,编写Pre-Request-Script,为请求参数进行加密处理、参数化等。 2)接收到请……

阅读全文

使用Selenium-Java实现自动化UI测试

安装ChromeDriver https://npm.taobao.org/mirrors/chromedriver/ 下载指定版本的 chromedriver 后,放入 PATH 中。 添加Maven依赖 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.5.3</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.14.3</version> </dependency> 使用案例:自动登录 package com.wuwenze.test; import lombok.extern.java.Log; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import java.util.List; import java.util.concurrent.TimeUnit; @Log public class TestNgSelenium { private String baseUrl = "http://xxx.com"; private ChromeDriver webDriver = null; @BeforeClass public void before() { webDriver = new ChromeDriver(); webDriver.manage().window().fullscreen(); webDriver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); webDriver.get(baseUrl); } @Test public void login() throws InterruptedException { // 进入登录页面 webDriver.findElementByClassName("btn-login").click(); Thread.sleep(1000); // 输入用户名密码 List<WebElement> elements = webDriver.findElements(By.tagName("input")); Assert.assertNotNull(elements); Assert.assertEquals(elements.size(), 3);……

阅读全文

使用JMeter录制性能测试脚本

JMeter是一个开源的基于Java的性能测试工具,使用起来真的是即"方便"又"强大" 新建线程组 用于存放录制结果 新建代理服务器 测试计划->新建非测试原件->HTTP代理服务器 TestPlan Creation 将目标控制器设置为:测试计划>线程组 (录制后……

阅读全文

使用MockMvc在SpringBoot中进行单元测试

在开发好常规的RESTful接口后,难免会依次进行单元测试,一般来说使用Postman即可, 但是依然是不太方便,有没有更方便,更优雅的方式呢? MockMvc org.springframework.test.web.servlet.MockMvc MockMvc是由Spring提供的,作用是在单元测试代码中,伪造一套MVC环境,常见的方法如下: Method Remark perform 执行一个RequestBuil……

阅读全文

ContiPerf::优雅且方便的单元压力测试工具

ContiPerf 是一个轻量级的单元测试工具,基于JUnit 4二次开发,使用它基于注解的方式,快速在本地进行单元压测并提供详细的报告。 示例 新建 SpringBoot 工程 POM文件中的核心依赖如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.databene</groupId> <artifactId>contiperf</artifactId> <version>2.1.0</version> <scope>test</scope> </dependency> 测试接口以及实现 package com.wuwenze.contiperf.service; import java.util.List; public interface ContiperfExampleService { List<String> findAll(); } import com.wuwenze.contiperf.service.ContiperfExampleService; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Random; import lombok.extern.slf4j.Slf4j; @Slf4j @Service public class ContiperfExampleServiceImpl implements ContiperfExampleService { private final Random RANDOM = new Random(); @Override public List<String>……

阅读全文