测试代码
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