版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Selenium基础,主讲人:张恒健,目录,Selenium 简介 Selenium 原理 Selenium + WebDriver 使用方法 使用中Selenium的问题,简介篇,Selenium简介,Selenium是一款基于web应用程序的开源测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 它支持Firefox、IE、Chrome等众多浏览器。它同时直至JAVA、Python、Ruby、PHP、Perl等众多的主流脚本语言。,Selenium简介-特点,开源、免费、轻量 简单、灵活 支持分布式测试用例执行 多浏览器支持:Firefox、Chrome、IE 多
2、平台支持:Linux、windows、MAC 多语言支持:Java、Python、Ruby、Php、C# Selenium IDE提供录制功能(回放准确度低暂不推荐使用),Selenium组成,Selenium Core 在Server端直接放置JavaScript文件; Selenium IDE Firefox插件,可以自动录制脚本,但是比较简单;可以将录制得到的脚本转为其他语言; Selenium Remote Control 需要一个Server(用java 或 Python开发)作为Proxy访问被测试Web Server,同时需要编写代码模拟对Server的访问 Selenium G
3、rid 大规模的分布式访问,可以实现并行访问测试。,原理篇,Selenium原理,Selenium的核心browser bot是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本编写测试所需完成的测试行为。 再通过bot在Web 页面中增加一组JavaScript,在测试过程中通过调用这些JavaScript实现对页面的操作;,Selenium家谱,Selenium WebDriver VS. SeleniumRC体系结构对比,Selenium RC VS Selenium Webdriver,使用篇,S
4、elenium2环境搭建-Java,安装JDK1.6,设置JAVA_HOME的环境变量 安装Eclipse(可选) 下载Selenium2的相关jar包, 如selenium-java-2.46.0.jar, selenium-java-2.46.0-srcs.jar, selenium-server-standalone-2.46.0.jar Firefox中安装Firebug插件:用于查看对象xpath Firefox中安装Selenium IDE插件:可用于录制,Selenium WebDriver - 元素定位,WebDriver提供八种元素定位方法: Driver.findEleme
5、nt(B(“xxx) Driver.findElement(By.id(“xxx) Driver.findElement(By.xpath(“xxx) Driver.findElement(By.tagName(“xxx) Driver.findElement(By.linkText(“xxx) Driver.findElement(By.className(“xxx) Driver.findElement(By.cssSelector(“xxx) Driver.findElement(By.partialLinkText(“xxx),Selenium WebDriver - 元素
6、定位XPath,Xpath语法: / 表示从根节点开始查找 /表示全文查找 不填表示从当前节点查找 表示attribute,By.xpath(/iframeclass=g-editor-iframe,Selenium WebDriver - API,打开firefox浏览器: WebDriver driver = new FirefoxDriver(); 打开IE浏览器: WebDriver driver = new InternetExplorerDriver (); 打开HtmlUnit浏览器: WebDriverdriver = new HtmlUnitDriver(); 打开chrom
7、e浏览器: WebDriverdriver = new ChromeDriver();,Selenium WebDriver - API,最大化浏览器: driver.manage().window().maximize(); 关闭浏览器: driver.close(); driver.quit(); 打开Url地址: driver.get();,Selenium WebDriver -页面元素操作API,输入框(text field or textarea) WebElement element = driver.findElement(By.id(“xxx); element.sendKe
8、ys(“test”); /在输入框中输入内容 element.clear(); /将输入框清空 element.getText(); /获取输入框的文本内容 按钮 ( button ) WebElement btn= driver.findElement(By.id(“xxx); btn.click(); /点击按钮 btn.isEnabled ();/判断按钮是否enable,Selenium WebDriver -页面元素操作API,单选项(Radio Button) WebElement radio = driver.findElement(By.id(“xxx); radio.clic
9、k(); /选择某个单选项 radio.clear(); /清空某个单选项 radio.isSelected();/判断某个单选项是否已经被选择 多选项(checkbox) WebElement checkbox = driver.findElement(By.id(“xxx); checkbox.click(); checkbox.clear(); checkbox.isSelected(); checkbox.isEnabled();,Selenium WebDriver -页面元素操作API,弹出对话框(Popup dialogs) Alert alert = driver.switch
10、To().alert(); alert.accept();/确定 alert.dismiss(); /取消 alert.getText();/获取文本 表单( Form) WebElement approve = driver.findElement(By.id(approve); approve.click(); approve.submit(); /只适合于表单的提交,Selenium WebDriver -页面元素操作API,调用Java Script Web driver对JavaScript的调用是通过JavascriptExecutor来实现,如: JavascriptExecut
11、or js = (JavascriptExecutor) driver; js.executeScript(JS脚本); 超时设置 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); /识别元素时的超时时间 driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);/页面加载时的超时时间 driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);/异步脚本的超时时间,使用Selenium可能遇到的问题,测试代码编写工作量大 测试Case以Unit Test形式存在,如何管理?如何自动执行?如何与Bug管理系统关联? Web的可测试性对测试代码的影响。,目前公司使用selenium框架,0:8000,FitNesse框架简介,目前针对于server的接口测试主要使用FitNesse进行脚本托管,通过填写json请求表格的形式对server进行请求验证服务器的正确性和健壮性。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度电子烟具喷漆定制合同
- 2025年度苗木种植基地绿色认证合作合同4篇
- 2025年版城市绿地门卫及环境安全维护合同4篇
- 2025年个人住宅防水工程验收合同范本2篇
- 二零二五年度棉被产品展示与体验店合作经营合同4篇
- 2025年度个人二手房买卖合同售后服务与纠纷调解协议
- 2025年度个人旅游保险合同范本6篇
- 2025年度民间汽车质押借款电子支付合同范本3篇
- 2025年度豪华品牌个人二手车买卖合同范本2篇
- 2025年度拟上公司与会计事务所财务信息处理保密合同4篇
- 《白蛇缘起》赏析
- 海洋工程用高性能建筑钢材的研发
- 苏教版2022-2023学年三年级数学下册开学摸底考试卷(五)含答案与解析
- 英语48个国际音标课件(单词带声、附有声国际音标图)
- GB/T 6892-2023一般工业用铝及铝合金挤压型材
- 冷库安全管理制度
- 2023同等学力申硕统考英语考试真题
- 家具安装工培训教案优质资料
- 在双减政策下小学音乐社团活动有效开展及策略 论文
- envi二次开发素材包-idl培训
- 医院手术室医院感染管理质量督查评分表
评论
0/150
提交评论