旅游网站建设方案后台,公众号图片到wordpress,手机制作视频的软件哪个好,wordpress代码高亮在线转换工具目录
1. 登录测试
2. 测试首页的帖子列表数不为0
3. 帖子详情页校验
4. 发布帖子
5. 退出登录 自动化项目实施的基本流程如下图所示#xff1a; 手工测试用例、自动化测试用例。
1. 登录测试 校验登录后主页显示的用户名称和登录时输入的用户名是否相等。
public class…目录
1. 登录测试
2. 测试首页的帖子列表数不为0
3. 帖子详情页校验
4. 发布帖子
5. 退出登录 自动化项目实施的基本流程如下图所示 手工测试用例、自动化测试用例。
1. 登录测试 校验登录后主页显示的用户名称和登录时输入的用户名是否相等。
public class ForumCases extends InitAndEnd{/*** 登录测试*/Testvoid login(){// 打开要进行登录的页面webDriver.get(http://150.158.82.121:58080/sign-in.html);// 输入用户名webDriver.findElement(By.cssSelector(#username)).sendKeys(明玉);// 输入密码webDriver.findElement(By.cssSelector(#password)).sendKeys(123);// 点击登录webDriver.findElement(By.cssSelector(#submit)).click();// 校验用户是否登录成功即当前用户是否为登录的用户如果是则测试通过否则测试不通过String user_name webDriver.findElement(By.cssSelector(#username)).getAttribute(value);// 断言相等Assertions.assertEquals(明玉,user_name);}
}
测试成功 我们还可以通过参数化对于以上代码进行优化
public class ForumCases extends InitAndEnd{/*** 登录测试*/ParameterizedTestCsvSource(value 明玉,123)void login(String username,String password){// 打开要进行登录的页面webDriver.get(http://150.158.82.121:58080/sign-in.html);// 输入用户名webDriver.findElement(By.cssSelector(#username)).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector(#password)).sendKeys(password);// 点击登录webDriver.findElement(By.cssSelector(#submit)).click();// 校验用户是否登录成功即当前用户是否为登录的用户如果是则测试通过否则测试不通过String user_name webDriver.findElement(By.cssSelector(#username)).getAttribute(value);// 断言相等Assertions.assertEquals(username,user_name);}
} 测试成功 2. 测试首页的帖子列表数不为0
TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class ForumCases extends InitAndEnd{/*** 登录测试* 账号正确密码正确登录成功*/Order(1)ParameterizedTestCsvSource(value 明玉,123)void login(String username,String password){// 打开要进行登录的页面webDriver.get(http://150.158.82.121:58080/sign-in.html);// 输入用户名webDriver.findElement(By.cssSelector(#username)).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector(#password)).sendKeys(password);// 点击登录webDriver.findElement(By.cssSelector(#submit)).click();// 校验用户是否登录成功即当前用户是否为登录的用户如果是则测试通过否则测试不通过String user_name webDriver.findElement(By.cssSelector(#username)).getAttribute(value);// 断言相等Assertions.assertEquals(username,user_name);}/*** 帖子列表*/Order(2)Testvoid articleList(){webDriver.get(http://150.158.82.121:58080/index.html);// 智能等待3秒webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);// 统计首页的帖子数目int article_num webDriver.findElements(By.cssSelector(#nav_board_index a)).size();// 断言帖子数目不为0Assertions.assertNotEquals(0,article_num);}
}测试成功 3. 帖子详情页校验
首先我们点击帖子标题查看详情时帖子的详情页中帖子标题不能为空。
TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class ForumCases extends InitAndEnd{/*** 登录测试* 账号正确密码正确登录成功*/Order(1)ParameterizedTestCsvSource(value 明玉,123)void login(String username,String password){// 打开要进行登录的页面webDriver.get(http://150.158.82.121:58080/sign-in.html);// 输入用户名webDriver.findElement(By.cssSelector(#username)).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector(#password)).sendKeys(password);// 点击登录webDriver.findElement(By.cssSelector(#submit)).click();// 校验用户是否登录成功即当前用户是否为登录的用户如果是则测试通过否则测试不通过String user_name webDriver.findElement(By.cssSelector(#username)).getAttribute(value);// 断言相等Assertions.assertEquals(username,user_name);}/*** 帖子列表*/Order(2)Testvoid articleList(){webDriver.get(http://150.158.82.121:58080/index.html);// 智能等待3秒webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);// 统计首页的帖子数目int article_num webDriver.findElements(By.cssSelector(#nav_board_index a)).size();// 断言帖子数目不为0Assertions.assertNotEquals(0,article_num);}/*** 帖子详情页检验* 校验帖子的标题不为空*/Order(3)Testvoid articleDetail(){// 打开列表页webDriver.get(http://150.158.82.121:58080/index.html);// 找到需要查看的帖子标题并点击webDriver.findElement(By.cssSelector(#artical-items-body div:nth-child(1) div div.col div.text-truncate a strong)).click();// 获取博客的标题String article_title webDriver.findElement(By.cssSelector(#details_article_content_title)).getText();// 断言标题不为空Assertions.assertNotNull(article_title);}
}测试成功 其次我们点击帖子标题查看详情时帖子的详情页中帖子内容不能为空。
TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class ForumCases extends InitAndEnd{/*** 登录测试* 账号正确密码正确登录成功*/Order(1)ParameterizedTestCsvSource(value 明玉,123)void login(String username,String password){// 打开要进行登录的页面webDriver.get(http://150.158.82.121:58080/sign-in.html);// 输入用户名webDriver.findElement(By.cssSelector(#username)).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector(#password)).sendKeys(password);// 点击登录webDriver.findElement(By.cssSelector(#submit)).click();// 校验用户是否登录成功即当前用户是否为登录的用户如果是则测试通过否则测试不通过String user_name webDriver.findElement(By.cssSelector(#username)).getAttribute(value);// 断言相等Assertions.assertEquals(username,user_name);}/*** 帖子列表*/Order(2)Testvoid articleList(){webDriver.get(http://150.158.82.121:58080/index.html);// 智能等待3秒webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);// 统计首页的帖子数目int article_num webDriver.findElements(By.cssSelector(#nav_board_index a)).size();// 断言帖子数目不为0Assertions.assertNotEquals(0,article_num);}/*** 帖子详情页检验* 校验帖子的标题不为空* 校验帖子的内容不为空*/Order(3)Testvoid articleDetail(){// 打开列表页webDriver.get(http://150.158.82.121:58080/index.html);// 找到需要查看的帖子标题并点击webDriver.findElement(By.cssSelector(#artical-items-body div:nth-child(1) div div.col div.text-truncate a strong)).click();// 获取帖子的标题String article_title webDriver.findElement(By.cssSelector(#details_article_content_title)).getText();// 断言帖子的标题不为空Assertions.assertNotNull(article_title);// 获取帖子的内容String article_content webDriver.findElement(By.cssSelector(#details_article_content p)).getText();// 断言帖子的内容不为空Assertions.assertNotNull(article_content);}
}测试成功 4. 发布帖子
我们可以直接在控制台上进行输入
我们可以直接复制以上的 JS 脚本document.querySelector(#article_post_title).value测试
5. 退出登录
package forumTest;import net.bytebuddy.build.ToStringPlugin;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import org.junit.jupiter.params.provider.ValueSource;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;import java.util.concurrent.TimeUnit;import static java.lang.Thread.sleep;TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class ForumCases extends InitAndEnd{/*** 登录测试* 账号正确密码正确登录成功*/Order(1)ParameterizedTestCsvSource(value 明玉,123)void login(String username,String password){// 打开要进行登录的页面webDriver.get(http://150.158.82.121:58080/sign-in.html);// 输入用户名webDriver.findElement(By.cssSelector(#username)).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector(#password)).sendKeys(password);// 智能等待5秒webDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);// 点击登录webDriver.findElement(By.cssSelector(#submit)).click();// 校验用户是否登录成功即当前用户是否为登录的用户如果是则测试通过否则测试不通过String user_name webDriver.findElement(By.cssSelector(#username)).getAttribute(value);// 断言相等Assertions.assertEquals(username,user_name);}/*** 帖子列表*/Order(2)Testvoid articleList(){webDriver.get(http://150.158.82.121:58080/index.html);// 智能等待3秒webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);// 统计首页的帖子数目int article_num webDriver.findElements(By.cssSelector(#nav_board_index a)).size();// 断言帖子数目不为0Assertions.assertNotEquals(0,article_num);}/*** 帖子详情页检验* 校验帖子的标题不为空* 校验帖子的内容不为空*/
// Order(3)
// Test
// void articleDetail(){
// // 打开列表页
// webDriver.get(http://150.158.82.121:58080/index.html);
// // 找到需要查看的帖子标题并点击
// webDriver.findElement(By.cssSelector(#artical-items-body div:nth-child(1) div div.col div.text-truncate a strong)).click();
// // 获取帖子的标题
// String article_title webDriver.findElement(By.cssSelector(#details_article_content_title)).getText();
// // 断言帖子的标题不为空
// Assertions.assertNotNull(article_title);
// // 获取帖子的内容
// String article_content webDriver.findElement(By.cssSelector(#details_article_content p)).getText();
// // 断言帖子的内容不为空
// Assertions.assertNotNull(article_content);
// }/*** 发布帖子*/
// Order(4)
// Test
// void publish_article() throws InterruptedException {
// // 找到发布帖子的按钮
// webDriver.findElement(By.cssSelector(#bit-forum-content div.page-header.d-print-none div div div.col-auto.ms-auto.d-print-none div a.btn.btn-primary.d-none.d-sm-inline-block.article_post)).click();
// sleep(2000);
// // 执行 js选中标题输入框输入标题
// ((JavascriptExecutor)webDriver).executeScript(document.querySelector(\#article_post_title\).value\测试\);
// // 智能等待5秒
// webDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
// // 执行 js选中内容输入框输入内容
// ((JavascriptExecutor)webDriver).executeScript(document.querySelector(\#edit-article div.CodeMirror.cm-s-default.CodeMirror-wrap div.CodeMirror-scroll div.CodeMirror-sizer div div div div.CodeMirror-code div pre span span\).innerText\自动化测试\);
// sleep(5000);
// // 点击发布按钮webDriver.findElement(By.cssSelector(#article_post_submit)).click();
//
// WebElement element webDriver.findElement(By.cssSelector(#article_post_submit));
// ((JavascriptExecutor) webDriver).executeScript(arguments[0].click();, element);
// // 校验页面跳转到首页
// String currentUrl webDriver.getCurrentUrl();
// Assertions.assertEquals(http://150.158.82.121:58080/index.html,currentUrl);
// // 校验第一条帖子的标题是不是我们刚才发布的标题
// String firstTitle webDriver.findElement(By.cssSelector(#artical-items-body div:nth-child(1) div div.col div.text-truncate a strong)).getText();
// Assertions.assertEquals(测试,firstTitle);
// }/*** 退出登录校验*/Order(5)Testvoid logOut() throws InterruptedException {webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);// 找到退出按钮并点击webDriver.findElement(By.cssSelector(#index_nav_avatar)).click();sleep(3000);webDriver.findElement(By.cssSelector(#index_user_logout)).click();sleep(3000);webDriver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);// 校验是否退回登录页String currentUrl webDriver.getCurrentUrl();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);Assertions.assertEquals(http://150.158.82.121:58080/sign-in.html,currentUrl);}
}测试成功 先进行基础功能的自动化测试~
其他详细的测试将不断在本篇文章中进行迭代。