智联聊天室 Pro自动化测试

设计测试用例

主要功能测试

登录测试

注册测试

自动化测试

工具:Selenium,JMeter,谷歌浏览器

方法:使用Selenium中的css选择器来进行元素的定位

创建驱动程序(连接谷歌浏览器并进行截图)

package common;

import io.github.bonigarcia.wdm.WebDriverManager;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.time.Duration;

public class Utils {
    public static WebDriver driver;
    public static WebDriver createDriver(){
        if (driver==null){
            WebDriverManager.chromedriver().setup();
            ChromeOptions options=new ChromeOptions();
            options.addArguments("--remote-allow-origins=*");
             driver=new ChromeDriver(options);
//            WebDriverManager.edgedriver().setup();
//            EdgeOptions options=new EdgeOptions();
//            options.addArguments("--remote-allow-origins=*");
//            EdgeDriver driver=new EdgeDriver(options);

//            等待
            driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));
        }
        return driver;
    }
    public Utils(String url){
        driver=createDriver();
        driver.get(url);

    }
    public void getScreenShot(String str) throws IOException {
        SimpleDateFormat sim1 = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat sim2 = new SimpleDateFormat("HHmmss");

        String dirTime = sim1.format(System.currentTimeMillis());
        String fileTime = sim2.format(System.currentTimeMillis());

        //./src/test/image/2025-01-01/test01-174530.png
        String filename ="./src/test/image/"+ dirTime +"/" + str + "-" + fileTime+".png";

        File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        //srcFile放到指定位置
        FileUtils.copyFile(srcFile,new File(fileTime));
    }
}

 登录界面测试

package test;

import common.Utils;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;

import java.io.IOException;

public class Login extends Utils {
    public static String url="http://159.75.202.189:8080/login.html";

    public Login() {
        super(url);
    }
    public void loginSuc() throws IOException, InterruptedException {
        driver.findElement(By.cssSelector("#username")).clear();
        driver.findElement(By.cssSelector("#password")).clear();

//        登入
        driver.findElement(By.cssSelector("#username")).sendKeys("zhangsan");
        driver.findElement(By.cssSelector("#password")).sendKeys("123");
        driver.findElement(By.cssSelector("#submit")).click();

        Thread.sleep(3000);
        Alert alert=driver.switchTo().alert();
        alert.accept();

        getScreenShot(getClass().getName());
    }

}

登录成功效果展示

 

登录失败效果展示

注册的自动化测试代码

package test;

import common.Utils;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;

import java.io.IOException;

public class Register extends Utils {
    public static String url="http://159.75.202.189:8080/register.html";

    public Register() {
        super(url);
    }
    public void registerSun() throws IOException {
        driver.findElement(By.cssSelector("#username")).sendKeys("xin");
        driver.findElement(By.cssSelector("#password")).sendKeys("123");
        driver.findElement(By.cssSelector("#submit")).click();
//        Alert alert=driver.switchTo().alert();
//        alert.accept();
        getScreenShot(getClass().getName());


    }
}

 注册成功效果展示

注册失败效果展示

 

聊天的自动化测试代码

package test;

import common.Utils;
import org.openqa.selenium.By;

public class SendMessage extends Utils {
    public static String url="http://159.75.202.189:8080/client.html";
    public SendMessage() {
        super(url);
    }
    public void SendMessageSun() throws InterruptedException {
        //driver.findElement(By.cssSelector("body > div.client-container > div > div.left > div.tab > div.tab-friend")).click();
        driver.findElement(By.cssSelector("#session-list > li.selected")).click();

        Thread.sleep(3000);
        driver.findElement(By.cssSelector("body > div.client-container > div > div.right > textarea")).sendKeys("你好");
        driver.findElement(By.cssSelector("body > div.client-container > div > div.right > div.ctrl > button")).click();
    }
}

 消息传输成功效果展示

 

 消息传输失败效果展示

好友列表测试自动化代码

     //driver.findElement(By.cssSelector("body > div.client-container > div > div.left > div.tab > div.tab-friend")).click();
        driver.findElement(By.cssSelector("#session-list > li.selected")).click();

        Thread.sleep(3000);
        driver.findElement(By.cssSelector("body > div.client-container > div > div.right > textarea")).sendKeys("你好");
        driver.findElement(By.cssSelector("body > div.client-container > div > div.right > div.ctrl > button")).click();

 好友列表展示

聊天程序页面展示

注册界面

登录界面

 

聊天界面 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值