一、学习目标
巩固今天实训学习的UI自动化。
二、学习内容
1、工具准备
(1)webDriver的下载(百度搜索,选择下载与谷歌浏览器对应的版本),并解压到如图所示路径即系统的System32下。
(2)lib包解压。
(3)打开Eclipse,创建项目,导入lib下的jar包。
2、基本讲解——自动打开网页
(1)举例:打开百度界面。
import org.openqa.selenium.chrome.ChromeDriver;;
public class demo1{
public static void main(String args[]){
//System.out.print("test!");
ChromeDriver bs = new ChromeDriver();
bs.get("https://www.baidu.com");
}
}
3、元素定位方式
(1)采用id
举例:搜索“福州美食”后关闭网页。
//20210314测试
import org.openqa.selenium.chrome.ChromeDriver;;
public class demo1{
public static void main(String args[]) throws InterruptedException{
//System.out.print("test!");
ChromeDriver bs = new ChromeDriver();
bs.get("https://www.baidu.com");
bs.manage().window().maximize();//窗口最大化
Thread.sleep(3000);//延迟让自动化更清晰,main后 throws InterruptedException就是增加延时抛出的异常
bs.findElementById("kw").sendKeys("福州美食");//搜索内容
bs.findElementById("su").click();//点击一下
Thread.sleep(3000);
bs.navigate().back();//回退
}
}
(2)采用name
举例:同上。
//20210314测试
import org.openqa.selenium.chrome.ChromeDriver;;
public class demo1{
public static void main(String args[]) throws InterruptedException{
//System.out.print("test!");
ChromeDriver bs = new ChromeDriver();
bs.get("https://www.baidu.com");
bs.manage().window().maximize();//窗口最大化
Thread.sleep(3000);//延迟让自动化更清晰,main后 throws InterruptedException就是增加延时抛出的异常
//这里是ByName
bs.findElementByName("wd").sendKeys("福州美食");//搜索内容
bs.findElementById("su").click();//点击一下
Thread.sleep(3000);
bs.navigate().back();//回退
}
}
(3)采用LinkText
以百度一下的新闻为例,语句如下。
//通过链接文本获取
bs.findElementByLinkText("新闻").click();
(4)采用ClassName
//语句如下
bs.findElementByClassName("").click();
(5)采用XPath
//语句如下,从网页复制过来的Xpath为//*[@id="J_register_form"]/div/dl[5]/dd/button
//需要给Xpath的id=后加\ 元素id结束后加\
bs.findElementByXPath("//*[@id=\"J_register_form\"]/div/dl[5]/dd/button").click();
4、自动化注册、登录测试脚本
前提:结合PHPWind-Wamp-5.0实现,若有安装需求可看第五点。(也可以自己利用类似工具测试自动化脚本。)
(1)登录: 利用开发者工具找到元素(用户名、密码、登录)id;默认用户名admin、密码123456。
//20210314自动登录脚本
import org.openqa.selenium.chrome.ChromeDriver;;
public class demo2{
public static void main(String args[]) throws InterruptedException{
//System.out.print("test!");
ChromeDriver bs = new ChromeDriver();
bs.get("http://localhost/phpwind/index.php");
bs.manage().window().maximize();//窗口最大化
Thread.sleep(3000);//延迟让自动化更清晰,main后 throws InterruptedException就是增加延时抛出的异常
bs.findElementById("J_username").sendKeys("admin");
bs.findElementById("J_password").sendKeys("123456");
Thread.sleep(3000);
bs.findElementById("J_sidebar_login").click();
}
}
(2)注册:和登录一样的道理。
//20210314自动注册脚本
import org.openqa.selenium.chrome.ChromeDriver;;
public class demo3{
public static void main(String args[]) throws InterruptedException{
//System.out.print("test!");
ChromeDriver bs = new ChromeDriver();
bs.get("http://localhost/phpwind/index.php");
bs.manage().window().maximize();//窗口最大化
Thread.sleep(3000);//延迟让自动化更清晰,main后 throws InterruptedException就是增加延时抛出的异常
bs.findElementByXPath("//*[@id=\"J_login_form\"]/dl/dd[2]/a").click();
bs.findElementById("J_reg_username").sendKeys("HTY");
bs.findElementById("J_reg_password").sendKeys("123456");
bs.findElementById("J_reg_repassword").sendKeys("123456");
bs.findElementById("J_reg_email").sendKeys("1751014095@qq.com");
Thread.sleep(3000);
bs.findElementByXPath("//*[@id=\"J_register_form\"]/div/dl[5]/dd/button").click();
}
}
5、安装PHPWind-Wamp-5.0
(1)关闭所有与apache、mysql有关的服务。
(2)解压PHPWind-Wamp-5.0,双击运行。或者打开安装路径点击install.bat运行。