web自动化–selenium
了解自动化和selenium
自动化简介
selenium优点
1)开源免费
2)支持多浏览器
3)支持多系统
4)提供很多API
5)支持多语言
环境部署
驱动工作原理
eg.一个简单的自动化
publicclassUtil{publicvoidtest()throwsInterruptedException{ChromeDriver driver =newChromeDriver();Thread.sleep(3000);
driver.get("https://www.baidu.com/");
driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");Thread.sleep(3000);
driver.findElement(By.cssSelector("#su")).click();Thread.sleep(3000);
driver.quit();}}
publicclassFirstTest{publicstaticvoidmain(String[] args)throwsInterruptedException{Util u =newUtil();
u.test();}}
掌握selenium的基础语法
元素的定位方法
css选择器
driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");
xpath
元素的操作
点击–click、提交–submit
模拟按键输入–send_keys
driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");
清除对象输入的文本内容–clear()
driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");
driver.findElement(By.cssSelector("#kw")).clear();
driver.findElement(By.cssSelector("#kw")).sendKeys("-----");
获取文本–gettext
等待
代码执行速度很快,页面渲染速度相对较慢,故代码需要等待渲染完成,否则页面元素找不到
强制等待–线程sleep方法
隐式等待
在规定的时间范围内。轮询等待元素出现之后立即结束,如果在规定时间仍没出来,抛出异常NoSuchElementException。
显示等待
针对某一个元素进行测试
【显示和隐式不可一起使用,等待时间无法确定】
信息的打印
/**
* 信息打印
*/publicvoidprintTest(){String title =this.driver.getTitle();//打印标题System.out.println("title"+ title);String currentUrl =this.driver.getCurrentUrl();System.out.println("currentUrl"+ currentUrl);//打印URL}
窗口
1)获取当前页的句柄–getWindowHandle()
System.out.println(this.driver.getWindowHandle());//获取当前页的句柄,即唯一标识
2)获取所有标签页的句柄 --getWindowHandles()
Set<String> windowHandles =this.driver.getWindowHandles();for(String s:windowHandles){System.out.println(s);}
窗口切换–switchTo.window
switchTo().window("");// ”“中->是目标句柄
设置窗口大小–manage.window
driver.manage().window().maximize();//最大化
driver.manage().window().minimize();//最小化
driver.manage().window().setSize(newDimension(1000,800));//自定义,宽 高
//编译js
driver.executeScript("window.scroll(0,document.body.scrollHeight)");//scrip:置底
driver.executeScript("window.scroll(0,document.body.scrollTop)");//scrip:置顶
导航–navigate
driver.navigate().back();//后退
driver.navigate().forward();//前进
弹窗–Alert接口
鼠标、键盘的操作–Actions接口
选择框–select接口
文件上传
屏幕截图
版权归原作者 蕾姆的48六 所有, 如有侵权,请联系我们删除。