测试服务地址:
https://gitee.com/steffens/webapplication/tree/master/webapplication
代码地址:
https://gitee.com/steffens/httpinterface/tree/master/bookcode38382/webapplicationtest
import org.openqa.selenium.*;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import java.util.List;
import static java.lang.Thread.sleep;
public class SeleniumTest {
private WebDriver chromeDriver;
@BeforeClass
public void init() {
chromeDriver = new ChromeDriver();
}
@Test
public void testCase1() {
chromeDriver.get("http://localhost:8080/login");
chromeDriver.findElement(By.name("username")).sendKeys("zhangsan");
chromeDriver.findElement(By.name("password")).sendKeys("zhangsan123456");
chromeDriver.findElement(By.xpath("//form/p[4]/button")).click();
String expected = "zhangsan";
String actual = chromeDriver.findElement(By.xpath("//nav/label/span")).getText();
Assert.assertEquals(expected, actual);
}
public static void waitOneSecond() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@AfterClass
public void clear() throws InterruptedException {
chromeDriver.quit();
System.out.println("After class clear()");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="com.lujiatao.webapplicationtest.SeleniumTest" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
import org.openqa.selenium.*;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import java.util.List;
import static java.lang.Thread.sleep;
public class SeleniumTest {
private WebDriver chromeDriver;
@BeforeClass
public void init() {
chromeDriver = new ChromeDriver();
}
/* @Test
public void testCase1() {
chromeDriver.get("http://localhost:8080/login");
chromeDriver.findElement(By.name("username")).sendKeys("zhangsan");
chromeDriver.findElement(By.name("password")).sendKeys("zhangsan123456");
chromeDriver.findElement(By.xpath("//form/p[4]/button")).click();
String expected = "zhangsan";
String actual = chromeDriver.findElement(By.xpath("//nav/label/span")).getText();
Assert.assertEquals(expected, actual);
}*/
@Test
public void testCase2() throws InterruptedException {
chromeDriver.get("http://localhost:8080/index-demo");
定位元素--helloworld
WebElement el = chromeDriver.findElement(By.id("label-id"));
System.out.println("通过ID定位元素为:" + el.getText());
WebElement e2 = chromeDriver.findElement(By.name("label-name"));
System.out.println("通过name定位获取的元素为:" + el.getAttribute("placeholder"));
e2.sendKeys("我输入了内容xxx");
WebElement e9 = chromeDriver.findElement(By.id("my-button"));
e9.click();
e9.click();
e9.click();
List<WebElement> radios = chromeDriver.findElements(By.name("radio"));
for(int i=0; i < radios.size(); i ++ )
{
radios.get(i).click();
if(radios.get(i).isSelected() ) {
System.out.println("第" + (i + 1 ) + "个单选按钮被选中了!");
}
}
键盘事件
WebElement input = chromeDriver.findElement(By.name("label-name"));
input.sendKeys("123456");
sleep(5000);
System.out.println(input.getAttribute("value"));
input.sendKeys(Keys.BACK_SPACE);
sleep(5000);
System.out.println(input.getAttribute("value"));
鼠标事件
WebElement apple = chromeDriver.findElement(By.xpath("//nav/ul/li[1]/a"));
WebElement iPhone6S = chromeDriver.findElement(By.xpath("//ul/li[1]/ul/li/a"));
Actions action = new Actions(chromeDriver);
action.moveToElement(apple);
action.moveToElement(iPhone6S);
action.click();
action.perform();
operate brower
WebDriver.Navigation navigation = chromeDriver.navigate();
navigation.to("http://localhost:8080/index-demo");
waitOneSecond();
navigation.to("http://localhost:8080/openIPhome6s");
waitOneSecond();
navigation.back();
waitOneSecond();
navigation.forward();
waitOneSecond();
navigation.refresh();
waitOneSecond();
navigation.back();
waitOneSecond();
WebElement motoZ = chromeDriver.findElement(By.linkText("在新窗口打开moto Z页面"));
motoZ.click();
waitOneSecond();
String[] windows = new String[chromeDriver.getWindowHandles().size()];
chromeDriver.getWindowHandles().toArray(windows);
chromeDriver.switchTo().window(windows[0]);
waitOneSecond();
chromeDriver.close();
chromeDriver.switchTo().window(windows[1]);
waitOneSecond();
JS对话框
chromeDriver.findElement(By.id("my-button2")).click();
Alert alert = chromeDriver.switchTo().alert();
System.out.println("Alert对话框:" + alert.getText());
alert.accept();
waitOneSecond();
}
public static void waitOneSecond() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@AfterClass
public void clear() throws InterruptedException {
sleep(5000);
chromeDriver.quit();
System.out.println("After class clear()");
}
}