TestNG
核心代码
4.1在pom.xml导入testng依赖,添加到已有的dependencies标签对中
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
4.2使用testng注解实现登录功能,修改过程3LoginCase类写的线性代码
@BeforeMethod
public void setupMethod(){
//前置条件:进入到登录页面
WebDriverUtils.openBrower("chrome");
WebDriverUtils.driver.get("登录测试地址url");
}
@Test
public void login_sucesss(){
//输入用户名、密码、点击登录同3.2main
//预期结果修改 :利用testng里的Assert断言
// 1、根据退出按钮元素是否出现
WebDriverWait webDriverWait = new WebDriverWait(WebDriverUtils.driver,8);
try {
webDriverWait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//button[text()='退出')]")));
Assert.assertTrue(true);
}catch (TimeoutException e){
Assert.assertTrue(false);
}
// 2、URL地址发生了变化
String expectedUrl="登录成功后跳转到主页的测试地址url";
String actualUrl = driver.getCurrentUrl();
Assert.assertEquals(actualUrl,expectedUrl);
}
@AfterMethod
public void teardownMethod(){
//用例后置,测试结束后-关闭浏览器
WebDriverUtils.driver.quit();
}
@Test
public void login_failure(){
//失败案例编写
}
问题解决
4.1TestNG控制台输出试图中文乱码问题,参考文章解决:点击这里
本文介绍了如何在 Maven 项目中引入 TestNG 库进行自动化测试,通过 @BeforeMethod, @Test 和 @AfterMethod 注解实现登录功能的测试,包括成功和失败场景。同时,针对控制台输出中文乱码的问题,提供了相应的解决策略。在测试过程中,利用 Assert 断言判断登录状态,并检查页面元素和URL变化。
3万+





