PPT内容
这是一个关于UI自动化学习分享ppt模板,主要介绍Selenium介绍、环境的搭建、基本功能、学习任务。欢迎点击下载哦。
Selenium 学习
Selenium介绍
环境的搭建
基本功能
学习任务
Selenium介绍
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Net、Java、Perl,Ruby等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。
环境的搭建
基于java + eclipse +selenium-java-2.42.2的环境搭建,下面为云盘存放下载链接:
http://pan.baidu.com/s/1i3klB2P 密码: 75hc。可以自己到官网下载
基本功能-打开浏览器
打开Firefox浏览器:
//如果火狐浏览器没有默认安装在C盘,需要制定其路径
System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla firefox/firefox.exe");
//实例化Firefox driver,该代码执行时,自动调起Firefox浏览器
WebDriver driver = new FirefoxDriver();
//浏览器最大化
driver.manage().window().maximize();
其它浏览器调起方法如下:
WebDriver driver = new InternetExplorerDriver (); //IE浏览器
WebDriver driver = new ChromeDriver(); //谷歌浏览器
基本功能-打开URL
//通过下面方法打开指定的测试URL路径
driver.get("http://bj.ganji.com/");
//这种方式也可以正常打开URL
driver.navigate().to("http://www.ganji.com");
基本功能-查找页面元素
WebDriver可以通过WebDriver实例来定位元素,查找页面元素有“Find Element”和“Find Elements”的方法。第一个方法返回一个WebElement或者抛出异常。后者返回所有WebElement的列表,或者空列表。
Find Elements例子如下:
WebDriver driver = new FirefoxDriver();
driver.get("http://bj.ganji.com/");
driver.manage().window().maximize();
//检索北京首页页面元素中全部className为banner-imgs的条目
List classname =
driver.findElements(By.className("banner-imgs"));
for(int i=0;i
int p = classname.size();
System.out.println(p);
}
基本功能-页面元素By Name
登录页面
//输入用户名和密码
WebElement username = driver.findElement(By.name("login_username"));
username.sendKeys("****");
WebElement password = driver.findElement(By.name("login_password"));
password.sendKeys("****");
基本功能-页面元素By className
//提交登录
WebElement loginsubmit = driver.findElement(By.className("btn-org"));
loginsubmit.click();
基本功能-页面元素By linkText
//首页点击会员登录
WebElement loginlink = driver.findElement(By.linkText("会员登录"));
loginlink.click();
基本功能-页面元素By Id
//获取页面元素中ID为search_wrap中的文本
WebElement Byid = driver.findElement(By.id("search_wrap"));
System.out.print(Byid.getText());
基本功能-页面元素By Xpath 和 By CssSelector
driver.get("http://bj.ganji.com/zpxuetugong/");
//选择通过xpath获取元素
WebElement checkbox1 = driver.findElement(By.xpath("//*[@id='list-job-id']/div[8]/dl[1]/dt/input"));
//选择通过cssSelector获取元素
WebElement checkbox2 = driver.findElement(By.cssSelector("input[value=\"93579401,12,2,/zhaopin/zpjigongyibangongren,2\"]"));
checkbox1.click();
checkbox2.click();
基本功能-输入框操作
//查找首页输入框
WebElement txtsearch = driver.findElement(By.className("txt_search"));
//输入框输入检索条件
txtsearch.sendKeys("招聘");
//获取搜索中的内容
txtsearch.getText();
//清空输入框
txtsearch.clear();
基本功能-下拉框操作
//打开url
driver.get("http://bj.ganji.com/pub/pub.php?act=pub&method=load&cid=12&mcid=129?domain=bj");
//查找select元素
Select setdress=new Select(driver.findElement(By.id("id_district_id")));
//选择下拉框,这里为海淀
setdress.selectByVisibleText("海淀");
基本功能-单选框操作
//打开跳蚤市场 driver.get("http://www.ganji.com/pub/pub.php?act=pub&method=load&cid=14&domain=bj");
//选择免费赠送单选框
WebElement RadioButton = driver.findElement(By.id("id_deal_type_2"));
RadioButton.click();
//判断是否被选中,被选中返回true,非返回false
System.out.print(RadioButton.isSelected());
基本功能-多选择框操作
driver.get("http://bj.ganji.com/zpxuetugong/");
//选择通过xpath获取一个元素
WebElement checkbox1 = driver.findElement(By.xpath("//*[@id='list-job-id']/div[8]/dl[1]/dt/input"));
//选择通过cssSelector获取一个元素
WebElement checkbox2 = driver.findElement(By.cssSelector("input[value=\"93579401,12,2,/zhaopin/zpjigongyibangongren,2\"]"));
//默认未勾选下,已选择返回TRUE,其它返回false
System.out.println(checkbox1.isSelected());
//进行选择单选框
checkbox1.click();
//进行选择单选框
checkbox2.click();
//判断是否为选中状态,已选择返回TRUE,其它返回false
System.out.println(checkbox1.isSelected());
//选择框是否可用
System.out.println(checkbox1.isEnabled());
基本功能-Alert操作
driver.get("http://bj.ganji.com/zpxuetugong/");
//不选择找到批量投递按钮
WebElement td_btn = driver.findElement(By.id("batchdelivery-id"));
//点击批量投递按钮
td_btn.click();
//弹出alert框
Alert alert = driver.switchTo().alert();
//打印alert内容
System.out.print(alert.getText());
//关闭alert
alert.accept();
基本功能-页面frame切换
driver.get("file:///C:/Users/zhaoshenzhou/Desktop/test.html");
//定位到name为baidu2的frame
driver.switchTo().frame("baidu2");
//查找新闻链接并点击
WebElement news=driver.findElement(By.linkText("新闻"));
news.click();
//当frame不再存在于页面上时,需要使用switchTo().defaultContent()方法回到主页面上来。否则还是定位不到主页面上的元素。
driver.switchTo().defaultContent();
//定位到name为baidu1的frame
driver.switchTo().frame("baidu1");
//查找贴吧链接并点击
WebElement tieba=driver.findElement(By.linkText("贴吧"));
tieba.click();
基本功能-上传附件
由于上传附件会弹出window窗口,会遇到selenium无法进行识别获取的情况,此时这里考虑结合外部工具autoit,来进行实现附件上传功能。
driver.get("http://www.ganji.com/pub/job_select.php?category=findjob&from=p");
Thread.sleep(2000);
//查找上传附件按钮
WebElement uploadfile=driver.findElement(By.xpath("//*[@id=\"SWFUpload_1\"]"));
//点击上传附件按钮
uploadfile.click();
//通过 getRuntime 方法获取当前Runtime运行时对象的引用
Runtime rt = Runtime.getRuntime();
//执行autoit工具生成的exe文件
rt.exec("D:\\ganji_project\\studyjava\\src\\studyjava\\fileload.exe");
谢谢!
相关PPT
通信工程管理-课件ppt:这是一个关于通信工程管理-课件ppt,主要介绍通信工程概述 、通信工程基础 、工程量的计算 、工程费用标准 、通信工程施工 、通信工程监理 、通信建设工程概预算综合实训。欢迎点击下载哦。
光信息科学与技术专业择业范围ppt:这是一个关于光信息科学与技术专业择业范围ppt,主要介绍光信息科学与技术是研究光子的产生、传输、控制、探测、存储与处理的科学,是继微电子技术之后,近几年迅速发展的新兴高技术。欢迎点击下载哦。
机械设计制造及其自动化的专业装配图结构设计表达ppt:这是一个关于机械设计制造及其自动化的专业装配图结构设计表达ppt,主要介绍装配图结构表达的合理性问题、装配结构设计表达中常见错误分析。欢迎点击下载哦。
《UI自动化学习分享ppt模板》是由用户一秋于2017-01-05上传,属于高校大学PPT。