自动化测试selenium+java学习笔记

这篇博客详细介绍了使用Java和Selenium进行自动化测试的方法,包括访问URL、页面导航、窗口操作、元素交互、弹窗处理、iframe切换、下拉框操作以及特殊元素如时间日期控件和文件上传的处理。内容涵盖了WebDriver的各种常用API和技巧。
摘要由CSDN通过智能技术生成

//driver后面接
get(String url)                     访问指定url页面 
getCurrentUrl()                   获取当前页面的url地址 
getTitle()                              获取当前页面的标题
getPageSource()                 获取当前页面源代码
quit()                                    关闭驱动对象以及所有相关的窗口
close()                                   关闭当前窗口


manage()                              此方法可以获取Options--浏览器菜单操作对象
例如:
driver.manage().window().maximize();    //最大化窗口

navigate对象
//获取navigate对象
Navigation navigation = driver.navigate();

//访问指定url地址
navigation.to(url);

//刷新当前页面
navigation.refresh();

//浏览器回退操作
navigation.back();

//浏览器前进操作
navigation.forward();


//硬性等待
Thread.sleep(3000);

//隐式等待:在设置的超时时间范围内不断查找元素,直到找到元素或者超时
driver.manage.timeouts().implicitlyWait(时间,单位TimeUnit.SECONDS);

//显示等待:用来等待某个条件发生后再继续执行后续代码(如找到元素、元素可点击、元素已显示等)
WebDriverWait wait = new WebDriverWait(driver,超时时间);
WebElement element = wait.until(expectCondition.方法(BY.    ));
常见方法:
visibilityOfElementLocated(By locator)                          页面元素在页面存在并且可见
elementTOBeClickable(By locator)                                 页面元素是否在页面上可用和可被单击
elementToBeSelected(WebElement element)               页面元素处于被选中状态
textToBePresentInElement(By locator)                           在页面元素中是否包含特定的文本
presenceOfElementLocated(By locator)                         页面元素在页面中存在

//切换到alert弹窗
Alert alert = driver.switchTo().alert();
//alert弹窗确认取消
alert.accept();
alert.dismiss();
//获得alert弹窗信息(要输出这个语句才能看到获取到的信息)
alert.getText()


//切换到confirm弹窗
Alert alert = driver.switchTo().alert();
//confirm弹窗确认取消
alert.accept();
alert.dismiss();
//获得confirm弹窗信息(要输出这个语句才能看到获取到的信息)
alert.getText()


//4种iframe切换
driver.switchTo().frame(index);
driver.switchTo().frame(id);
driver.switchTo().frame(name);
driver.switchTo().frame(WebElement);

//切换之后,如果要回到默认内容页面
driver.switchTo().defaultContent();


//切换窗口:传入要操作窗口的name或者句柄handle
driver.switchTo.window(name或者Handle);


//获取当前窗口句柄
driver.getWindowHandle();
//获取所有窗口的句柄
driver.getWindowHandles();

//select下拉框
如果页面元素是一个下拉框,我们可以将此web元素封装为select对象
WebElement element = chromeDriver.findElement(By.)
Select select = new Select(element);

//获取所有选项
select.getOptions();

//根据索引选中对应的元素
select.selectByIndex(index);

//选择指定value值对应的选项
select.selectByValue(value);

//选中文本值对应的选项
select.selectByVisibleText(text);


//特殊元素定位与操作-时间日期控件

//如果控件没有限制手动输入,则直接调用sendKeys方法写入时间数据

//控件有限制输入,则可以执行一段js来改变元素的value属性值
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("...")

//鼠标操作最后要用perform();才能运行
实例化actions对象
Actions actions = new Actions(chromeDriver);
actions.一系列操作.perform();
例如:
WebElement sourceElement = chromeDriver.findElement(By.id("treeDemo_2_span"));
WebElement targetElement = chromeDriver.findElement(By.id("treeDemo_3_span")) ;
Actions actions = new Actions(chromeDriver);
actions.clickAndHold(sourceElement).moveToElement(targetElement).release().build().perform();

//特殊元素定位与操作-文件上传

//类似于下面,使用sendKeys写入文件的路径
<input type="file" id="fu" value="选择文件">

//类似于下面,使用sendKeys写入文件的路径<input type="file" id="fu" value="选择文件">
如果文件上传不是input元素,而是使用的第三方的控件。并且不是input元素,那么这种情况就很棘手了,必须要使用一些第三方的工具,比如autoit等来完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值