基于jeeSite的软件测试课程作业 流程记录

基于jeeSite的软件测试课程作业 流程记录,第1张

基于jeeSite的软件测试课程作业 流程记录

文章目录
  • 基于jeeSite的软件测试课程作业
    • jeeSite软件启动步骤
      • 普通做法
        • 进入root,命令行输入`mvn install`
        • 配置数据库
        • 访问网页
      • IDEA做法
    • selenium简单脚本编写
      • 步骤
    • Jmeter
      • 选定业务
      • 设计合适的负载模式,包括负载大小,加载方式
      • 测试两种协议
      • 使用两种以上的断言
      • 对测试结果(表格和图形)进行分析
    • 安全性测试
  • Jenkins
    • 虚拟机网络设置

基于jeeSite的软件测试课程作业 jeeSite软件启动步骤 普通做法 进入root,命令行输入mvn install 配置数据库

创建数据库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-java
    3.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
安全性测试

暂无

Jenkins

Jenkins集成的部分可以看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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5681450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存