1.Junit test
- Book.java
package cn.edu.njupt;
public class Book {
private String title;
private double price;
public Book(String title, double price) {
this.title = title;
this.price = price;
}
public boolean equals(Object object) {
if(object instanceof Book){
Book book=(Book)object;
return getTitle().equals(book.getTitle())
&& getPrice()==book.getPrice();
}
return false;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
- BookTest.java
package cn.edu.njupt;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class BookTest {
private Book book1;
private Book book2;
@BeforeEach
void setUp() {
book1=new Book("ES",12.99);
book2=new Book("The Grate",11.99);
}
@AfterEach
void tearDown() {
book1=null;
book2=null;
}
@Test
void testEquals() {
assertFalse((book2.equals(book1)));
assertTrue((book1.equals(book1)));
}
}
Test Results:
- Triangle.java
package cn.edu.njupt;
public class Triangle {
protected long lborderA=0;
protected long lborderB=0;
protected long lborderC=0;
public Triangle(long lborderA, long lborderB, long lborderC) {
this.lborderA = lborderA;
this.lborderB = lborderB;
this.lborderC = lborderC;
}
/**
* 判断是否是三角形
* @param triangle
* @return
*/
public static boolean isTriangle(Triangle triangle){
boolean isTriangle=false;
if((triangle.lborderA>0 && triangle.lborderA<=Long.MAX_VALUE/2)
&&(triangle.lborderB>0 && triangle.lborderB<=Long.MAX_VALUE/2)
&&(triangle.lborderC>0 && triangle.lborderC<=Long.MAX_VALUE/2))
if((triangle.lborderA < (triangle.lborderB+triangle.lborderC))
&&(triangle.lborderB < (triangle.lborderA+triangle.lborderC))
&&(triangle.lborderC < (triangle.lborderB+triangle.lborderA)))
isTriangle=true;
return isTriangle;
}
public static String getType(Triangle triangle){
String strType="不是三角形";
if(isTriangle(triangle)){
if(triangle.lborderA==triangle.lborderB
&& triangle.lborderB==triangle.lborderC){
strType="等边三角形";
}
else if((triangle.lborderA !=triangle.lborderB)
&&(triangle.lborderB !=triangle.lborderC)
&&(triangle.lborderA !=triangle.lborderC))
strType="不等边三角形";
else{
strType="等腰三角形";
}
}
return strType;
}
}
- TriangleTest.java
package cn.edu.njupt;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class TriangleTest {
private Triangle triangle1;
private Triangle triangle2;
private Triangle triangle3;
private Triangle triangle4;
private Triangle triangle5;
private Triangle triangle6;
@BeforeEach
void setUp() {
triangle1=new Triangle(3,3,3);
triangle2=new Triangle(3,4,5);
triangle3=new Triangle(3,3,5);
triangle4=new Triangle(-1,3,5);
triangle5=new Triangle(3,10,5);
triangle6=new Triangle(3,3,5);
}
@AfterEach
void tearDown() {
triangle1=null;
triangle2=null;
triangle3=null;
triangle4=null;
triangle5=null;
triangle6=null;
}
@Test
void isTriangle() {
assertTrue(Triangle.isTriangle(triangle6));
assertFalse(Triangle.isTriangle(triangle4));
assertFalse(Triangle.isTriangle(triangle5));
}
@Test
void getType() {
assertEquals("等边三角形",Triangle .getType(triangle1));
assertEquals("不等边三角形",Triangle.getType(triangle2));
assertEquals("等腰三角形",Triangle.getType(triangle3));
assertEquals("不是三角形",Triangle.getType(triangle4));
}
}
Test Results:
2. Use Selenium for automated testing of web applications (optional)
-
Import the Selenium jar package
Jar package link: https://pan.baidu.com/s/12N_EY0Rl0aQcbCdl6kD-Jg
extraction code: 2c7q -
Download the driver corresponding to the Chrome browser version
Check the chrome driver and download the corresponding Google browser version: https://blog.csdn.net/lizhiyuanbest/article/details/105363310
- Demo1.java
After downloading the driver on your browser, replace the path of the driver with the path below.
For example, my driver is placed under the path C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe
package king.test;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.List;
import java.util.concurrent.TimeUnit;
public class Demo1 {
private WebDriver driver;
@Before
public void setUp(){
//设置谷歌浏览器的驱动
System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
//启动谷歌浏览器
driver=new ChromeDriver();
//设置默认超时时间
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@After
public void tearDown() throws Exception{
//关闭浏览器
driver.quit();
}
@Test
public void test222() throws Exception{
//打开测试页面
driver.get("file:///E:/test.html");
//通过id找到第一个输入框
WebElement un =driver.findElement(By.id("un"));
//第一个输入框输入aaa
un.sendKeys("aaa");
//通过id找到第二个输入框
WebElement pw =driver.findElement(By.className("lala"));
//第一个输入框输入bbb
pw.sendKeys("bbb");
//通过id找到第三个输入框
WebElement co =driver.findElement(By.name("code"));
//第一个输入框输入ccc
co.sendKeys("ccc");
Thread.sleep(2000);
//找到页面中的所有的input标签
List<WebElement> inputs=driver.findElements(By.tagName("input"));
//获取第四个input标签
WebElement btn = inputs.get(3);
//点击按钮
btn.click();
Thread.sleep(3000);
}
}
- test.html
To put this file in the E drive, or modify the path in Demo1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<input id="un" class="css1" name="username">
<input id="pw" class="css2 lala" name="password">
<input id="co" class="css3" name="code"><br>
<input type="button" id="btn" class="css4" name="submit" value="按钮">
<script>
document.getElementById('btn').onclick=function(){
alert("haha");
}
</script>
</body>
</html>
Test result :