5.5“聊天网页“搜索页测试脚本(java)

测试代码

package MySpacePage;

import LoginPage.InitAndEnd;
import org.apache.commons.lang3.RandomStringUtils;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import java.util.concurrent.TimeUnit;

import static java.lang.Thread.sleep;


@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class MySpacePageTest extends InitAndEnd {

    static WebDriver webDriver;

    @BeforeAll
    static void SetUp() {
        webDriver = new ChromeDriver();
    }

    @AfterAll
    static void TearDown() {
        webDriver.quit();
    }


    /**
     * 点击聊天按钮
     */
    @Order(1)
    @ParameterizedTest
    @CsvFileSource(resources = "TestMS001.csv")
    void TestMS001(String login_url, String username, String password, String client_url, String alert_text) throws InterruptedException {
        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入账号zhangsan
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码123456
        webDriver.findElement(By.cssSelector("#password")).sendKeys(password);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击提交按钮
        webDriver.findElement(By.cssSelector("#submit")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //切换到alert,获取alert
        sleep(2000);
        Alert alert = webDriver.switchTo().alert();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        String alertText = alert.getText();
        //alertText = "登录成功!"测试通过,否则不通过
        Assertions.assertEquals(alert_text, alertText);
        alert.accept();
        // 跳转到聊天页
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/client.html,测试通过,否则测试不通过
        Assertions.assertEquals(client_url, cur_url);
        // 聊天页展示用户信息是zhangsan
        // 用户名是zhangsan测试通过,否则测试不通过
        String cur_admin = webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.left > div.user")).getText();
        Assertions.assertEquals(username, cur_admin);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //点击空间按钮,进入我的空间
        webDriver.findElement(By.cssSelector("body > div.nav > a:nth-child(4)")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //点击聊天按钮,返回聊天页
        webDriver.findElement(By.cssSelector("body > div.nav > a")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/client.html,测试通过,否则测试不通过
        Assertions.assertEquals(client_url, cur_url);
    }


    /**
     * 点击好友按钮
     */
    @Order(2)
    @ParameterizedTest
    @CsvFileSource(resources = "TestMS002.csv")
    void TestMS002(String mySpace_url) {
        //跳转到我的空间页
        webDriver.get(mySpace_url);
        webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
        //点击好友按钮
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.left > div.tab > div.tab-friend")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //判断左边列表是否是好友列表
        //是好友列表测试通过,否则不通过
        WebElement element =webDriver.findElement(By.cssSelector("#friend-list"));
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        Assertions.assertNotNull(element);
    }


    /**
     * 点击我的收藏按钮
     */
    @Order(3)
    @ParameterizedTest
    @CsvFileSource(resources = "TestMS003.csv")
    void TestMS003(String mySpace_url) {
        //跳转到我的空间页
        webDriver.get(mySpace_url);
        webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
        //点击好友按钮
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.left > div.tab > div.tab-resonance")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //判断左边列表是否是好友列表
        //是好友列表测试通过,否则不通过
        WebElement element =webDriver.findElement(By.cssSelector("#resonance-list"));
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        Assertions.assertNotNull(element);
    }


    /**
     * 点击好友,进入好友列表
     */
    @Order(4)
    @ParameterizedTest
    @CsvFileSource(resources = "TestMS004.csv")
    void TestMS004(String mySpace_url) throws InterruptedException {
        //跳转到我的空间页
        webDriver.get(mySpace_url);
        webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
        //点击好友按钮
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.left > div.tab > div.tab-friend")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //点击第一个好友,进入好友空间
        String friendName = webDriver.findElement(By.cssSelector("#friend-list > li:nth-child(1) > h4")).getText();
        webDriver.findElement(By.cssSelector("#friend-list > li:nth-child(1)")).click();
        sleep(2000);
        //获取好友空间的名字
        String user = webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.left > div.user")).getText();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //判断是否进入正确的好友空间
        Assertions.assertEquals(friendName,user);
    }





    /**
     * 点击收藏动态
     */
    @Order(5)
    @ParameterizedTest
    @CsvFileSource(resources = "TestMS005.csv")
    void TestMS005(String mySpace_url) throws InterruptedException {
        //跳转到我的空间页
        webDriver.get(mySpace_url);
        webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
        //点击好友按钮
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.left > div.tab > div.tab-resonance")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //获取第一个收藏动态的作者和内容预览
        String author = webDriver.findElement(By.cssSelector("#resonance-list > li:nth-child(1) > h3")).getText();
        String preview = webDriver.findElement(By.cssSelector("#resonance-list > li:nth-child(1) > p")).getText();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //点击第一个被收藏的动态
        webDriver.findElement(By.cssSelector("#resonance-list > li:nth-child(1)")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //获取动态详情的标题和详细内容
        sleep(2000);
        String title = webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > div.title")).getText();
        String detail = webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > div.drift-bottle-show > div > div.sentence > p")).getText();
        //详细内容截断
        if(detail.length() > 10){
            detail = detail.substring(0,10) + "...";
        }
        //判断收藏动态详情是否被正确显示
        Assertions.assertEquals(preview,detail);
        Assertions.assertEquals(author,title);
    }





    /**
     * 未输入点击发送动态
     */
    @Order(6)
    @ParameterizedTest
    @CsvFileSource(resources = "TestMS006.csv")
    void TestMS006(String mySpace_url) throws InterruptedException {
        //跳转到我的空间页
        webDriver.get(mySpace_url);
        webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
        //获取动态条数
        sleep(2000);
        int sizeBefore = webDriver.findElements(By.cssSelector("body > div.client-container > div.main > div.right > div.drift-bottle-show > div")).size();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //不输入内容
        //点击发送动态
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > div.send > button")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //页面无反应
        //动态条数不变测试成功,否则不成功
        int sizeAfter = webDriver.findElements(By.cssSelector("body > div.client-container > div.main > div.right > div.drift-bottle-show > div")).size();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        Assertions.assertEquals(sizeBefore,sizeAfter);
    }



    /**
     * 发送长度小于2048字动态
     */
    @Order(7)
    @ParameterizedTest
    @CsvFileSource(resources = "TestMS007.csv")
    void TestMS007(String mySpace_url,String alert_text) throws InterruptedException {
        //跳转到我的空间页
        webDriver.get(mySpace_url);
        webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
        //生成一段小于2048的字符串,输入内容
        String randomString = RandomStringUtils.randomAlphabetic(1,2047);
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > textarea")).sendKeys(randomString);
        sleep(2000);
        //点击发送动态
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > div.send > button")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        sleep(3000);
        Alert alert = webDriver.switchTo().alert();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        String alertText = alert.getText();
        //alertText = "登录成功!"测试通过,否则不通过
        Assertions.assertEquals(alert_text, alertText);
        alert.accept();
        sleep(3000);
        //最新动态内容一样
        String detail = webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > div.drift-bottle-show > div:nth-child(1) > div > p")).getText();
        Assertions.assertEquals(randomString,detail);
    }






    /**
     * 发送长度等于2048字动态
     */
    @Order(8)
    @ParameterizedTest
    @CsvFileSource(resources = "TestMS008.csv")
    void TestMS008(String mySpace_url, String alert_text) throws InterruptedException {
        //跳转到我的空间页
        webDriver.get(mySpace_url);
        webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
        //生成一段小于2048的字符串,输入内容
        String randomString = RandomStringUtils.randomAlphabetic(2048);
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > textarea")).sendKeys(randomString);
        sleep(2000);
        //点击发送动态
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > div.send > button")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        sleep(3000);
        Alert alert = webDriver.switchTo().alert();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        String alertText = alert.getText();
        //alertText = "登录成功!"测试通过,否则不通过
        Assertions.assertEquals(alert_text, alertText);
        alert.accept();
        sleep(3000);
        //最新动态内容一样
        String detail = webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > div.drift-bottle-show > div:nth-child(1) > div > p")).getText();
        Assertions.assertEquals(randomString,detail);
    }





    /**
     * 发送长度大于2048字动态
     */
    @Order(9)
    @ParameterizedTest
    @CsvFileSource(resources = "TestMS009.csv")
    void TestMS009(String mySpace_url, String alert_text) throws InterruptedException {
        //跳转到我的空间页
        webDriver.get(mySpace_url);
        webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
        //获取动态条数
        sleep(2000);
        int sizeBefore = webDriver.findElements(By.cssSelector("body > div.client-container > div.main > div.right > div.drift-bottle-show > div")).size();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //生成一段小于2048的字符串,输入内容
        String randomString = RandomStringUtils.randomAlphabetic(2050);
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > textarea")).sendKeys(randomString);
        sleep(2000);
        //点击发送动态
        webDriver.findElement(By.cssSelector("body > div.client-container > div.main > div.right > div.send > button")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        sleep(3000);
        Alert alert = webDriver.switchTo().alert();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        String alertText = alert.getText();
        //alertText = "登录成功!"测试通过,否则不通过
        Assertions.assertEquals(alert_text, alertText);
        alert.accept();
        sleep(2000);
        //动态条数不变测试成功,否则不成功
        int sizeAfter = webDriver.findElements(By.cssSelector("body > div.client-container > div.main > div.right > div.drift-bottle-show > div")).size();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        Assertions.assertEquals(sizeBefore,sizeAfter);
    }
    
}

测试数据

TestMS001.csv
http://139.196.92.170:8080/login.html,zhangsan,123456,http://139.196.92.170:8080/client.html,登录成功!

TestMS002.csv
http://139.196.92.170:8080/my_space.html
TestMS003.csv
http://139.196.92.170:8080/my_space.html
TestMS004.csv
http://139.196.92.170:8080/my_space.html
TestMS005.csv
http://139.196.92.170:8080/my_space.html
TestMS006.csv
http://139.196.92.170:8080/my_space.html
TestMS007.csv
http://139.196.92.170:8080/my_space.html,动态添加成功!
TestMS008.csv
http://139.196.92.170:8080/my_space.html,动态添加成功!
TestMS009.csv
http://139.196.92.170:8080/my_space.html,动态过长,无法发送!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值