提交 9fb80da0 authored 作者: mry's avatar mry

feat(CRUD测试):完成了基本的增删改查功能的测试

上级 105eb95d
...@@ -7,11 +7,14 @@ import org.apache.commons.io.FileUtils; ...@@ -7,11 +7,14 @@ import org.apache.commons.io.FileUtils;
import org.openqa.selenium.*; import org.openqa.selenium.*;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.testng.Assert;
import org.testng.Reporter; import org.testng.Reporter;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test; import org.testng.annotations.Test;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import java.util.UUID; import java.util.UUID;
@Data @Data
...@@ -33,41 +36,252 @@ public class ConferenceActive { ...@@ -33,41 +36,252 @@ public class ConferenceActive {
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
Reporter.log("<a href=/opt/conference_manage_deploy/images/" + fileName + " target=_blank>这是失败截图</a>", true); Reporter.log("<a href=/opt/meeting_deploy/images/" + fileName + " target=_blank>这是失败截图</a>", true);
Reporter.log("<img src=/opt/conference_manage_deploy/images/" + fileName + " style=width:30px;height:30px />", true); Reporter.log("<img src=/opt/meeting_deploy/images/" + fileName + " style=width:30px;height:30px />", true);
}
//新增或修改需要输入的数据
private void popUp(String name, String address, String s) {
//输入名称
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[1]/div/div[1]/input")).click();
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[1]/div/div[1]/input")).clear();
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[1]/div/div[1]/input")).sendKeys(name);
//输入地址
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[2]/div/div[1]/input")).click();
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[2]/div/div[1]/input")).clear();
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[2]/div/div[1]/input")).sendKeys(address);
//输入人数
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[3]/div/div/input")).click();
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[3]/div/div/input")).clear();
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[3]/div/div/input")).sendKeys(s);
}
//精准查询人数/会议室规模
private void extracted(String s, String scale) {
String test;
WebElement tbody = webDriver.findElement(By.xpath("/html/body/div/div/div[2]/div[2]/div/div/div[2]/div[1]/div[3]/table/tbody"));
List<WebElement> rows = tbody.findElements(By.className("el-table__row"));
for (WebElement row : rows) {
String text = row.findElement(By.cssSelector(s)).getText();
if (scale.equals(text)) {
test = "查询成功";
} else {
test = "查询失败";
}
Assert.assertEquals("查询成功", test);
}
} }
public void login(String username, String password) { public void login(String username, String password) {
//todo 这个系统暂时没有登录的功能 //todo 这个系统暂时没有登录的功能
} }
//进入页面
@Test @Test
public void url(){ //进入页面,并且到达会议室库管理页面
webDriver.get("123.60.53.83"); public void meetManager() {
// webDriver.get(baseUrl); webDriver.get("http://123.60.53.83");
webDriver.manage().window().maximize(); webDriver.manage().window().maximize();
webDriver.findElement(By.className("router_nav")); webDriver.findElement(By.xpath("/html/body/div/div/div[1]/div[2]/div[2]/span")).click();
webDriver.findElement(By.xpath("/html/body/div/div/div[2]/div[1]/div/ul/li/div/span")).click();
webDriver.findElement(By.xpath("/html/body/div/div/div[2]/div[1]/div/ul/li/ul/li[1]/div/span[2]")).click();
} }
//按会议室名称模糊查询
@Test(description = "会议室模糊查询")
public void findMeetName() {
try {
String test;
meetManager();
//会议室名称查询
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[1]/div/div/div/input")).click();
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[1]/div/div/div/input")).clear();
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[1]/div/div/div/input")).sendKeys("G");
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[4]/button[1]/span")).click();
WebElement tbody = webDriver.findElement(By.xpath("/html/body/div/div/div[2]/div[2]/div/div/div[2]/div[1]/div[3]/table/tbody"));
List<WebElement> rows = tbody.findElements(By.className("el-table__row"));
for (WebElement row : rows) {
String text = row.findElement(By.cssSelector(".el-table_2_column_9.el-table__cell")).getText();
if (text.indexOf("G")!=(-1)){
test = "查询成功";
}else {
test = "查询失败";
}
Assert.assertEquals("查询成功",test);
}
}catch (Exception | Error e){
file();
Assert.fail(e.getMessage());
}
}
//按容纳人数精准查询
@Test(description = "容纳人数精准查询")
public void findNumberMeet(){
try {
String test;
meetManager();
//容纳人数查询
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[2]/div/div/div/input")).click();
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[2]/div/div/div/input")).clear();
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[2]/div/div/div/input")).sendKeys("130");
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[4]/button[1]/span")).click();
extracted(".el-table_2_column_12.el-table__cell", "130");
}catch (Exception | Error e){
file();
Assert.fail(e.getMessage());
}
}
@Test(description = "按照会议室规模查询")
public void findScaleMeet() {
meetManager();
WebElement find = webDriver.findElement(By.xpath("/html/body/div/div/div[2]/div[2]/div/div/div[1]/form/div/div[4]/button[1]/span"));
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[3]/div/div/div/div/input")).click();
webDriver.findElement(By.xpath("/html/body/div[2]/div[1]/div[1]/ul/li[1]/span")).click();
find.click();
extracted(".el-table_2_column_11.el-table__cell", "小型会议室");
// @Test(description = "新增会议室") webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[3]/div/div/div/div/input")).click();
// public void insertMeeting(){ webDriver.findElement(By.xpath("/html/body/div[2]/div[1]/div[1]/ul/li[2]/span")).click();
// find.click();
// } extracted(".el-table_2_column_11.el-table__cell", "中型会议室");
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/form/div/div[3]/div/div/div/div/input")).click();
webDriver.findElement(By.xpath("/html/body/div[2]/div[1]/div[1]/ul/li[3]/span")).click();
find.click();
extracted(".el-table_2_column_11.el-table__cell", "大型会议室");
}
//新增会议室
@Test(description = "会议室新增成功测试")
public void insertMeet() {
try {
meetManager();
//点击新增
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/button/span")).click();
popUp("test", "test1", "100");
//选择规模
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[4]/div/div/div/span/span/i")).click();
webDriver.findElement(By.xpath("/html/body/div[4]/div[1]/div[1]/ul/li[1]/span")).click();
//点击保存
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[3]/span/button[2]/span")).click();
//防止截取不到提示信息
Thread.sleep(100);
String text = webDriver.findElement(By.className("el-message__content")).getText();
Assert.assertEquals("新增成功!", text);
} catch (Exception | Error e) {
file();
Assert.fail(e.getMessage());
}
}
//新增null错误提示
@Test(description = "新增null会议")
public void insertNullMeetFail() {
try {
meetManager();
//点击新增
webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/button/span")).click();
//点击保存
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[3]/span/button[2]/span")).click();
Thread.sleep(100);
String text = webDriver.findElement(By.className("el-message__content")).getText();
Assert.assertEquals("请填写具体信息", text);
//必填内容提示信息
String name = webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[1]/div/div[2]")).getText();
String address = webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[2]/div/div[2]")).getText();
String number = webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[3]/div/div[2]")).getText();
String scale = webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[4]/div/div[2]")).getText();
Assert.assertEquals("请输入会议室名称", name);
Assert.assertEquals("请输入会议室地址", address);
Assert.assertEquals("请输入容纳人数", number);
Assert.assertEquals("请输入会议室规模", scale);
} catch (Exception | Error e) {
file();
Assert.fail(e.getMessage());
}
}
// @AfterClass(alwaysRun = true) // @Test
// public void quit(){ // public void insertNoNumber(){
// webDriver.quit(); // meetManager();
// //点击新增
// webDriver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div/div[1]/button/span")).click();
// extracted("去q1","去q2","-");
//
// } // }
//修改会议室
@Test(description = "会议室信息修改成功测试")
public void updateMeet() {
try {
meetManager();
WebElement tbody = webDriver.findElement(By.xpath("/html/body/div/div/div[2]/div[2]/div/div/div[2]/div[1]/div[3]/table/tbody"));
List<WebElement> rows = tbody.findElements(By.className("el-table__row"));
for (WebElement row : rows) {
String text = row.findElement(By.cssSelector(".el-table_2_column_9.el-table__cell")).getText();
if ("test".equals(text)) {
WebElement element = row.findElement(By.cssSelector(".el-table_2_column_14.el-table__cell"));
List<WebElement> spans = element.findElements(By.tagName("span"));
for (WebElement span : spans) {
if ("修改".equals(span.getText())) {
span.click();
}
}
}
}
popUp("testing", "testing1", "200");
//修改规模
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/form/div[4]/div/div/div/span/span/i")).click();
webDriver.findElement(By.xpath("/html/body/div[4]/div[1]/div[1]/ul/li[3]/span")).click();
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[3]/span/button[2]/span")).click();
//防止截取不到提示信息
Thread.sleep(100);
String text = webDriver.findElement(By.className("el-message__content")).getText();
Assert.assertEquals("修改成功!", text);
} catch (Exception | Error e) {
file();
Assert.fail(e.getMessage());
}
}
//删除会议室
@Test(description = "会议室删除测试")
public void deleteMeet() {
try {
meetManager();
WebElement tbody = webDriver.findElement(By.xpath("/html/body/div/div/div[2]/div[2]/div/div/div[2]/div[1]/div[3]/table/tbody"));
List<WebElement> rows = tbody.findElements(By.className("el-table__row"));
for (WebElement row : rows) {
String text = row.findElement(By.cssSelector(".el-table_2_column_9.el-table__cell")).getText();
if ("testing".equals(text)) {
WebElement element = row.findElement(By.cssSelector(".el-table_2_column_14.el-table__cell"));
List<WebElement> spans = element.findElements(By.tagName("span"));
for (WebElement span : spans) {
if ("删除".equals(span.getText())) {
span.click();
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[3]/button[2]/span")).click();
}
}
}
}
//防止截取不到提示信息
Thread.sleep(100);
String text = webDriver.findElement(By.className("el-message__content")).getText();
Assert.assertEquals("删除成功!", text);
} catch (Exception | Error e) {
file();
Assert.fail(e.getMessage());
}
}
//退出浏览器
@AfterClass
public void quit() {
webDriver.quit();
}
} }
...@@ -11,7 +11,13 @@ ...@@ -11,7 +11,13 @@
<classes> <classes>
<class name="com.tykj.selenium.conferenceRoomTest.ConferenceActive"/> <class name="com.tykj.selenium.conferenceRoomTest.ConferenceActive"/>
<methods> <methods>
<include name="url"/> <include name="findMeetName"/>
<include name="findNumberMeet"/>
<include name="findScaleMeet"/>
<include name="insertMeet"/>
<include name="insertNullMeetFail"/>
<include name="updateMeet"/>
<include name="deleteMeet"/>
</methods> </methods>
</classes> </classes>
</test> </test>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论