5.2“聊天网页“注册页测试脚本(java)

测试代码

package RegisterPage;

import LoginPage.InitAndEnd;
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.chrome.ChromeDriver;

import java.util.concurrent.TimeUnit;

import static java.lang.Thread.sleep;

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

    static WebDriver webDriver;
    @BeforeAll
    static void SetUp() {
        webDriver = new ChromeDriver();
    }
    @AfterAll
    static void TearDown() {
        webDriver.quit();
    }



    /**
     * 已注册的用户注册
     */
    @Order(1)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE001.csv")
    void TestRE001(String login_url, String username, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

        // 输入账号admin
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码admin
        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();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/register.html,测试通过,否则测试不通过
        Assertions.assertEquals(register_url, cur_url);
    }


    /**
     * 未注册的用户注册
     */
    @Order(2)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE002.csv")
    void TestRE002(String login_url, String username, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

        // 输入账号testuername
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码testpassword
        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();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/login.html,测试通过,否则测试不通过
        Assertions.assertEquals(login_url, cur_url);
    }


    /**
     * 注册用户名或密码使用中文
     */
    @Order(3)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE003.csv")
    void TestRE003(String login_url, String username, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

        // 输入账号管理员
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码管理员
        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();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/register.html,测试通过,否则测试不通过
        Assertions.assertEquals(register_url, cur_url);
    }



    /**
     * 注册用户名为空
     */
    @Order(4)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE004.csv")
    void TestRE004(String login_url, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 不输入账号
        // 输入密码testpassword
        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();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/register.html,测试通过,否则测试不通过
        Assertions.assertEquals(register_url, cur_url);
    }


    /**
     * 注册密码为空
     */
    @Order(5)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE005.csv")
    void TestRE005(String login_url, String username, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入账号testusername
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        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();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/register.html,测试通过,否则测试不通过
        Assertions.assertEquals(register_url, cur_url);
    }


    /**
     * 注册用户名小于20字
     */
    @Order(6)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE006.csv")
    void TestRE006(String login_url, String username, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入账号testusername1
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码testpassword1
        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();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/login.html,测试通过,否则测试不通过
        Assertions.assertEquals(login_url, cur_url);
    }


    /**
     * 注册用户名等于20字
     */
    @Order(7)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE007.csv")
    void TestRE007(String login_url, String username, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入账号testuername222222222
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码testpassword1
        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();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/login.html,测试通过,否则测试不通过
        Assertions.assertEquals(login_url, cur_url);
    }


    /**
     * 注册用户名大于20字
     */
    @Order(8)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE008.csv")
    void TestRE008(String login_url, String username, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入账号testuername3333333333
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码testpassword3
        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 = "用户名或者密码长度不能大于20字!"测试通过,否则不通过
        Assertions.assertEquals(alert_text, alertText);
        alert.accept();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/register.html,测试通过,否则测试不通过
        Assertions.assertEquals(register_url, cur_url);
    }


    /**
     * 注册密码小于20字
     */
    @Order(9)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE009.csv")
    void TestRE009(String login_url, String username, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入账号testuername4
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码testpassword4
        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();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/login.html,测试通过,否则测试不通过
        Assertions.assertEquals(login_url, cur_url);
    }

    /**
     * 注册密码等于20字
     */
    @Order(10)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE010.csv")
    void TestRE010(String login_url, String username, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入账号testuername5
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码testpassword55555555
        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();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/login.html,测试通过,否则测试不通过
        Assertions.assertEquals(login_url, cur_url);
    }

    /**
     * 注册用户名大于20字
     */
    @Order(11)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE011.csv")
    void TestRE011(String login_url, String username, String password, String register_url, String alert_text) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入账号testuername6
        webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 输入密码testpassword666666666
        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 = "用户名或者密码长度不能大于20字!"测试通过,否则不通过
        Assertions.assertEquals(alert_text, alertText);
        alert.accept();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/register.html,测试通过,否则测试不通过
        Assertions.assertEquals(register_url, cur_url);
    }


    /**
     * 点击返回登录页面按钮
     */
    @Order(12)
    @ParameterizedTest
    @CsvFileSource(resources = "TestRE012.csv")
    void TestRE012(String login_url, String register_url) throws InterruptedException {

        // 打开登录页面
        webDriver.get(login_url);
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击注册按钮进入注册页
        webDriver.findElement(By.cssSelector("#register")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 点击提交按钮
        webDriver.findElement(By.cssSelector("body > div.nav > a")).click();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 获取到当前页面url
        String cur_url = webDriver.getCurrentUrl();
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        // 如果url=http://139.196.92.170:8080/login.html,测试通过,否则测试不通过
        Assertions.assertEquals(login_url, cur_url);
    }

}


测试数据

TestRE001.csv
http://139.196.92.170:8080/login.html,admin,admin,http://139.196.92.170:8080/register.html,注册失败!
TestRE002.csv
http://139.196.92.170:8080/login.html,testuername,testpassword,http://139.196.92.170:8080/register.html,注册成功!
TestRE003.csv
http://139.196.92.170:8080/login.html,管理员,管理员,http://139.196.92.170:8080/register.html,注册失败!
TestRE004.csv
http://139.196.92.170:8080/login.html,testpassword,http://139.196.92.170:8080/register.html,当前用户名或者密码为空!
TestRE005.csv
http://139.196.92.170:8080/login.html,testusername,http://139.196.92.170:8080/register.html,当前用户名或者密码为空!
TestRE006.csv
http://139.196.92.170:8080/login.html,testusername1,testpassword1,http://139.196.92.170:8080/register.html,注册成功!
TestRE007.csv
http://139.196.92.170:8080/login.html,testuername222222222,testpassword2,http://139.196.92.170:8080/register.html,注册成功!
TestRE008.csv
http://139.196.92.170:8080/login.html,testuername3333333333,testpassword3,http://139.196.92.170:8080/register.html,用户名或者密码长度不能大于20字!
TestRE009.csv
http://139.196.92.170:8080/login.html,testuername4,testpassword4,http://139.196.92.170:8080/register.html,注册成功!
TestRE010.csv
http://139.196.92.170:8080/login.html,testuername5,testpassword55555555,http://139.196.92.170:8080/register.html,注册成功!
TestRE011.csv
http://139.196.92.170:8080/login.html,admin,admin,http://139.196.92.170:8080/client.html,登录成功!
TestRE012.csv
http://139.196.92.170:8080/login.html,http://139.196.92.170:8080/register.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值