dede 添加演示网站,网站续费服务商,wordpress添加广告插件吗,云开发布道师http://8.137.19.140:9090/blog_login.htm
账号: lisi
密码: 123456
上面是系统链接
1. 自动化测试的步骤 1.1 编写Web测试用例 1.2 创建空项目添加依赖 然后我们创建一个新的java项目(使用maven管理),然后引入我们的配置文件:屏幕截图,驱动管理,selenium库 dependency…http://8.137.19.140:9090/blog_login.htm
账号: lisi
密码: 123456
上面是系统链接
1. 自动化测试的步骤 1.1 编写Web测试用例 1.2 创建空项目添加依赖 然后我们创建一个新的java项目(使用maven管理),然后引入我们的配置文件:屏幕截图,驱动管理,selenium库 dependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.6/version/dependencydependencygroupIdio.github.bonigarcia/groupIdartifactIdwebdrivermanager/artifactIdversion5.9.0/version/dependency!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --dependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion3.141.59/version/dependency 1.3 搭建整体的项目框架 创建驱动对象---所有的测试用例共用一个driver对象 编写测试用例---按照页面分类,每个页面是一个java文件.页面下所有的用例统一管理 common(公共部分) -Utils.java --- 创建驱动对象,等待,屏幕截图... tests(存放测试用例) -LoginPage.java --- 登录页面的所有用例 -ListPage.java --- 列表页面的所有用例 -EditPage.java --- 编辑页面的所有用例 -DetailPage.java --- 详情页面的所有用例 image(存放屏幕截图) -2025-2-14 -2025-2-15 创建如图 Utils tests和image tests详细代码 LoginPage
package org.xiaobai.test_blog_system.tests;import dev.failsafe.internal.util.Assert;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.xiaobai.test_blog_system.common.Utils;
//登录页面
public class LoginPage extends Utils {public static String url http://8.137.19.140:9090/blog_login.html;public LoginPage() throws InterruptedException {super(url);}//当前页面是否能够正确载入public void logPageRight() throws InterruptedException {//通过查看页面元素是否存在来判断当前页面是否正确加载driver.findElement(By.cssSelector(body div.nav a:nth-child(4)));//登录输入框driver.findElement(By.cssSelector(body div.container-login div));
// Thread.sleep(2000);
// driver.quit();}//检查登录功能 --成功登录public void LoginSuc() throws InterruptedException {//定位账号输 入框driver.findElement(By.cssSelector(#username)).sendKeys(lisi);
// Thread.sleep(2000);//定位密码输入框driver.findElement(By.cssSelector(#password)).sendKeys(123456);
// Thread.sleep(2000);//定位提交按钮并点击driver.findElement(By.cssSelector(#submit)).click();
// Thread.sleep(2000);//登录成功之后怎么确认?我们在跳转后的页面找一个元素,如果找到了就登录成功.我们也可以用登录前和登录后的url是否一致,标签名字...只要页面元素不一样就能作为测试点driver.findElement(By.cssSelector(body div.container div.right div:nth-child(1) a));//页面标题来检查是否登录成功String expect driver.getTitle();//通过断言来进行判断assert expect.equals(博客列表页);
// Thread.sleep(2000);
// driver.quit();driver.navigate().back();}//测试登录失败public void LoginFail() throws InterruptedException {//清除输入框里面的信息//方法1,cleardriver.findElement(By.cssSelector(#username)).clear();driver.findElement(By.cssSelector(#password)).clear();//方法2,重新刷新refreshdriver.navigate().refresh();//定位账号输 入框driver.findElement(By.cssSelector(#username)).sendKeys(lisi123);
// Thread.sleep(2000);//定位密码输入框driver.findElement(By.cssSelector(#password)).sendKeys(123456);
// Thread.sleep(2000);//定位提交按钮并点击driver.findElement(By.cssSelector(#submit)).click();Thread.sleep(2000);//判断是否有弹窗出现//获取alertAlert alert driver.switchTo().alert();String s alert.getText();assert s.equals(用户不存在);alert.accept();driver.navigate().back();
// Thread.sleep(1000);driver.quit();}
}注意事项 注意,我们什么时候需要切换窗口?当我们打开多个标签页的时候,且测试新的标签页. 如何检查登录成功? 我们在跳转后的页面找一个元素,如果找到了就登录成功.我们也可以用登录前和登录后的url是否一致,标签名字...只要页面元素不一样就能作为测试点 开启断言功能 如果账号或者密码不对,怎么判断?通过看是否有弹窗: 我们可以参考这篇博客:Selenium之定位浏览器弹窗方法汇总_selnium定位弹窗-CSDN博客 ListPage 注意事项 关于截图问题: 在处理弹窗处理完成之前我们是不可以进行其他比如截图操作的 登录状态的用例要保证登录状态.未登录状态的用例要保证未登录状态.因此我们优化一下tests.直接把所有处理的未登录状态放在一个tests里面 PageByNoLogin ListPage修改版本 EditPage 注意: 我们的博客编辑区是无法进行交互的,因此我们不能够直接用sendKeys去把值传进去,因为里面我们使用的是第三方插件 解决方法 1 博客内容本身就有,我们写标题即可 2 通过键盘操作来实现(很少使用):Actions接口 | Selenium 步骤: 1. 鼠标先移到博客内容区域 2. 双击鼠标把内容删除,鼠标双击内容键盘delete 3. 输入内容 其他页面我们后续补充
1.4 将自动化测试补充至测试报告 测试报告没有统一的模板,不同企业的测试报告不同,下面是我们博客系统的测试报告