Selenium 是目前用的最广泛的Web UI 自动化测试框架。它支持的语言有:python、Java、ruby、JavaScript等,并且几乎能在主流的浏览器上运行。
Selenium2.0、Selenium3.0主要由三大部分组成:SeleniumIDE、Selenium WebDriver、Selenoium Grid。
什么是selenium?它具有以下几个特点:
一套软件工具,用来支持不同的自动化测试方法
开源软件:可以根据需要来增加重构工具的某些功能
跨平台:linux , windows mac
核心功能就是可以在多个浏览器上进行自动化测试
支持多种编程语言
目前已经被google , 百度, 腾讯等公司广泛使用
能够实现类似商业工具的大部分功能,并且还实现了商业工具不能支持的功能
建议大家整体学习整套工具, 将来好选择适合自己测试目的的测试工具。
介绍完selenium,下面我们言归正传,如何用java selenium操作弹出对话框?
Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型:
对话框类型
警告框: 用于提示用户相关信息的验证结果, 错误或警告
提示框: 用于提示用户在当前对话框中输入数据,一般需要用户单击取消或者确认按钮
确认框:用于提示用户确认或者取消某个操作,一般需要用户单击取消或者确认按钮
测试页面
用如下页面为例进行讲解,包括了警告框,提示框,确认框
例如:http://sislands.com/coin70/week1/dialogbox.htm
Selenium 操作对话框的代码
// 警告框
public static void testAlert(WebDriver driver)
{
String url="http://sislands.com/coin70/week1/dialogbox.htm";
driver.get(url);
WebElement alertButton = driver.findElement(By.xpath("//input[@value='alert']"));
alertButton.click();
Alert javascriptAlert = driver.switchTo().alert();
System.out.println(javascriptAlert.getText());
javascriptAlert.accept();
}
// prompt 提示框
public static void testPrompt(WebDriver driver) throws Exception
{
String url="http://sislands.com/coin70/week1/dialogbox.htm";
driver.get(url);
WebElement promptButton = driver.findElement(By.xpath("//input[@value='prompt']"));
promptButton.click();
Thread.sleep(2000);
Alert javascriptPrompt = driver.switchTo().alert();
javascriptPrompt.sendKeys("This is learning Selenium");
javascriptPrompt.accept();
System.out.println(javascriptPrompt.getText());
javascriptPrompt=driver.switchTo().alert();
javascriptPrompt.accept();
Thread.sleep(2000);
promptButton.click();
javascriptPrompt=driver.switchTo().alert();
javascriptPrompt.dismiss();
Thread.sleep(2000);
javascriptPrompt=driver.switchTo().alert();
javascriptPrompt.accept();
}
// confirm 确认框
public static void testConfirm(WebDriver driver) throws Exception
{
String url="http://sislands.com/coin70/week1/dialogbox.htm";
driver.get(url);
WebElement confirmButton = driver.findElement(By.xpath("//input[@value='confirm']"));
confirmButton.click();
Thread.sleep(2000);
Alert javascriptConfirm = driver.switchTo().alert();
javascriptConfirm.accept();
Thread.sleep(2000);
javascriptConfirm = driver.switchTo().alert();
javascriptConfirm.accept();
}
结束语:
本文针对操作弹出对话框的基本应用进行演示,当然了在实际的自动化测试实践中,对于测试人员而言更需要加强编程基本功,提升测试技术能力,更加灵活的应用各种基础技术。
声明:本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。