- 基于jeeSite的软件测试课程作业
- jeeSite软件启动步骤
- 普通做法
- 进入root,命令行输入`mvn install`
- 配置数据库
- 访问网页
- IDEA做法
- selenium简单脚本编写
- 步骤
- Jmeter
- 选定业务
- 设计合适的负载模式,包括负载大小,加载方式
- 测试两种协议
- 使用两种以上的断言
- 对测试结果(表格和图形)进行分析
- 安全性测试
- Jenkins
- 虚拟机网络设置
创建数据库jeeSite
create database jeesite default charset 'utf8' collate 'utf8_general_ci';
在web下找到config目录并修改springboot配置文件的数据库密码
进入web/bin中,在命令行敲入.init-data.bat
在/web下输入mvn install
然后在target目录下输入java -jar war.war
访问网页http://localhost:8980/js
账号system密码admin
IDEA做法双击shift,点击add maven ...这个选项,然后把root下面的pom.xml导入即可,如果springboot报错那就alt + enter添加依赖,报错解决
selenium简单脚本编写添加依赖
org.seleniumhq.selenium selenium-java3.141.59
下面是打开浏览器并访问百度(示例)
package com.jeesite.selenium; import org.junit.Test; import org.openqa.selenium.chrome.ChromeDriver; public class ChromeTest { @Test public void openChrome() { //打开浏览器 System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe"); ChromeDriver chromeDriver = new ChromeDriver(); //访问百度 chromeDriver.get("https://www.baidu.com"); } }
使用selenium需要下载chromedriver
步骤- 创建一个新的test,输入所要测试的url,在右上方点击录制(它会自动打开浏览器到所需要的测试网页)
- 点击浏览器,selenium IDE会自动记录你点击的地方(根据class,id,标签锁定)
- 返回selenium IDE并结束录制
- 点击执行箭头即可执行刚刚录制的
可以使用selenium IDE插件进行录制,然后导出成Junit即可,文件的后缀是.side
下面是导出的Junit示例,每个步骤相当于测试样例的步骤了
@Test public void loginSuccess() { // Test name: 正确登录 // Step # | name | target | value // 1 | open | http://localhost:8980/js/a/login | driver.get("http://localhost:8980/js/a/login"); // 2 | setWindowSize | 1552x840 | driver.manage().window().setSize(new Dimension(1552, 840)); // 3 | click | css=.login-box | driver.findElement(By.cssSelector(".login-box")).click(); // 4 | click | id=username | driver.findElement(By.id("username")).click(); // 5 | type | id=username | system driver.findElement(By.id("username")).sendKeys("system"); // 6 | click | id=password | driver.findElement(By.id("password")).click(); // 7 | type | id=password | admin driver.findElement(By.id("password")).sendKeys("admin"); // 8 | click | id=btnSubmit | driver.findElement(By.id("btnSubmit")).click(); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(driver.getCurrentUrl()); assertEquals(driver.getCurrentUrl(), "http://localhost:8980/js/a/index"); }Jmeter
下载Jmeter和谷歌插件BlazeMeter
在配置文件中修改编码集sampleresult.default.encoding=UTF-8防止乱码
直接写相当麻烦,使用blazemeter谷歌插件录制.jmx会快很多
和selenium IDE差不多,也是录制
不过需要注册和登录才能下载.jmx
BlazeMeter插件是非常必要的,如果自己写消息头或者信息头之类的会非常麻烦,而且如果登录的信息是加密过的那就没办法写(JeeSite就是这样,下面是图片)
选定业务选取岗位管理模块的查看岗位,公司岗位的读取并使用jmeter测试
设计合适的负载模式,包括负载大小,加载方式对于公司岗位的数据读取,使用
- 单接口加压(起始人数50人,每隔60秒增加50人,加到200人为上限)
50人不断同时访问(线程数50),持续一段时间
在后台查看岗位数据时,人数一般不是很多,那么我们加大测试量,设置了10个线程,每个线程访问300次,共两个线程组
同时为了仿真,将第一个线程组持续1分钟,后一个线程组延后30s,持续30s
参考:
JMeter性能测试,完整入门篇
测试两种协议http和jdbc
即网页访问测试和数据库读取信息测试
使用两种以上的断言响应断言(相应的信息的筛选)
持续时间断言(相应多少时间)
json断言(我判断如果返回的数据是0就失败,json断言需要用到JOSNPath的特定语法)
json断言详解
对测试结果(表格和图形)进行分析Jmeter可以将测试结果导出成图形和表格
导出数据
jmeter -n -t test.jmx -l ../log.txt -e -o ../
-n 无图形化运行
-t 被运行脚本
-l 将运行信息写入日志文件
-e 生成测试报告
-o 指定报告输出目录
出现类似这样即成功
Dec 26, 2021 8:52:55 PM java.util.prefs.WindowsPreferences安全性测试WARNING: Could not open/create prefs root node SoftwareJavaSoftPrefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5. Creating summariser Created the tree successfully using test.jmx Starting standalone test @ Sun Dec 26 20:52:55 CST 2021 (1640523175609) Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445 summary + 2 in 00:00:04 = 0.4/s Avg: 52 Min: 35 Max: 69 Err: 0 (0.00%) Active: 5 Started: 5 Finished: 0 summary + 18 in 00:00:27 = 0.7/s Avg: 54 Min: 4 Max: 483 Err: 1 (5.56%) Active: 0 Started: 5 Finished: 5 summary = 20 in 00:00:32 = 0.6/s Avg: 54 Min: 4 Max: 483 Err: 1 (5.00%) Tidying up ... @ Sun Dec 26 20:53:27 CST 2021 (1640523207851) ... end of run
暂无
JenkinsJenkins集成的部分可以看Jenkins 个人搭建流程记录 集成邮件系统(qq邮箱),gitlab服务器,freestyle风格
插件下载Violations plugin
解释一下我做的
本地部署了Jenkins,安装了JDK8,Maven3.8,源代码也放在本地,实际上要放在另一台服务器
虚拟机,安装了gitlab服务器,使用NAT本地可以访问虚拟机的gitlab
虚拟机网络设置简单记录虚拟机安装的情况
启动gitlab服务 sudo gitlab-ctl start gitlab服务停止 sudo gitlab-ctl stop 重启gitlab服务 sudo gitlab-ctl restart
停止并禁用虚拟机 NetworkManager 服务 systemctl stop NetworkManager systemctl disable NetworkManager 重启网络服务 service network restart
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)