Selenium新手指南:环境搭建与实战入门

5星 · 超过95%的资源 需积分: 10 67 下载量 197 浏览量 更新于2024-09-11 3 收藏 724KB DOCX 举报
Selenium是一个流行的自动化测试工具,用于Web应用程序的集成和回归测试。本文档提供了一个全面的入门指南,帮助读者了解并掌握Selenium的基础知识和实践过程。 首先,理解Selenium的作用至关重要。它主要用于模拟用户在浏览器上的交互行为,如点击、输入文本、选择下拉菜单选项等,以便测试Web应用的功能和兼容性。为了更好地进行Selenium的学习,推荐参考文档《Selenium私房菜(新手入门教程)》,该文档可在CSDN下载,链接地址为<http://download.csdn.net/detail/testingba/3811306>。这份文档详细介绍了Selenium的背景、基本概念和应用场景。 XPath教程是介绍如何通过XPath语言定位网页元素的关键,这对于编写测试脚本时找到正确的对象引用至关重要。XPath教程可从同一来源下载,<http://download.csdn.net/detail/testingba/3811337>。虽然Firefox的Firebug插件可以帮助实时查看元素的XPath,但理解XPath基础对于编写自定义脚本很有帮助。 在搭建Selenium环境方面,以下步骤是必不可少的: 1. **Firefox**:作为Selenium的主要测试平台,Firefox的最新版本可以从<http://www.firefox.com.cn/download/>下载,下载安装文件为Firefox-latest.exe。 2. **Selenium IDE**:官方下载地址为<http://seleniumhq.org/projects/ide/>,建议下载版本为selenium-ide-1.4.1.xpi,这是一个用于录制和编辑测试脚本的插件,适合初学者入门。 3. **Firebug**:一个强大的Web开发者工具,安装火狐浏览器时可一并获取,用于调试和查看页面元素。本文提到它可能在调试过程中提供帮助。 4. **Selenium RC (Remote Control)**:这是Selenium的服务器端组件,用于接收和执行来自IDE或外部程序的命令。下载链接与Selenium IDE相同。 5. **Selenium Client Drivers**:包含了不同浏览器驱动,如Firefox、Chrome等,用于在实际浏览器上执行测试脚本。这些驱动需根据使用的浏览器版本进行选择。 6. **JDK 1.6**:Java Development Kit,是Selenium的编程语言,确保安装了最新的Java版本对于运行Java脚本是必需的。 7. **Eclipse**:一个流行的集成开发环境,可以用来编写和管理Selenium测试脚本。虽然不是Selenium的组成部分,但作为Java开发首选IDE,Eclipse提供了很好的支持。 8. **JUnit 4**:一个Java单元测试框架,配合Selenium使用可以方便地编写测试用例。 下载所有必要的软件后,推荐的开发流程包括: - 使用Selenium IDE录制和调试脚本,利用Firefox和Firebug进行实时查看和分析。 - 通过Selenium IDE将录制的脚本转换为JUnit 4 Java代码,并导入到Eclipse项目中。 - 启动Selenium RC服务器,运行Java脚本以测试Web应用的相应功能。 这个系列文章将逐步引导读者从零开始,掌握Selenium的基础知识,搭建测试环境,编写并执行测试脚本,确保对Web应用进行有效和可靠的自动化测试。
574 浏览量
常用命令篇: 1. Open(url) url可以是相对的,也可以是绝对的 如绝对的url:open(http://www.taobao.com/) 相对的url:open("/search?q=’aa’"); 2. Click(locator) click可以单击一个链接,按钮或者单选框复选框等。 Click系列的有:click、clickAt、clickAndWait、clickAtAndWait clickAt(locator,coordstring): coordstring是需要单击的坐标 3. doubleClick(locator) 双击操作,用户与click一致 4. type(locator,value) 可以为指定位置输入指定值,也可以为单选框和复选框按钮赋值,value是选项的值而不是文本内容 5. typeKeys(locator,value) 模拟用户输入的行为,与type不同的是,type是强行赋值,而typeKeys是完全模拟用户操作,一个键一个键敲上去的。当输入框中原来就有值时,使用type会用新值替换旧值,而typeKeys则是在原来值上进行追加。如,原来值为aaa,现在要输入bbb,使用type则最终值为bbb,使用typeKeys则最终值为aaabbb. 6. focus(locator) 将焦点移动到指定的元素上,如果是一个可输入的元素,则将聚焦到输入框 7. select(locator,option) 选择下列框中的选项,option默认为标签label 如selenium.select (“size_select”,”label=small”),id=size_select 8. selenium.goBack()后退 9. highlight(locator)指定元素高亮 10. refresh()刷新当前页面 11. AssertText(locator,pattern) 验证某个元素的文本值是否与预期值一致,locator为元素定位,pattern为预期值 12. AssertAttribute(attributelocator,pattern) 验证某个元素的某个属性值与预期值是否一致,attributelocator为属性定位,pattern为预期值 13.assertEquals(value,selenium.getAttribute(xpath+"@value")) 验证某个元素的属性值或者是文本值是否与预期值一致 14. assertInPara(remark_para_1, getRemark(engine_type)); 一般用于验证url和remark串 15. mouseOver(locator) 将鼠标停留在某个元素上,locator为元素定位。 16. mouseDown(locator)/mouseUp(locator) 用户在某个元素上按下或者释放鼠标。Locator为元素定位 17. keyDown(locator,keysequence)/ keyUp(locator,keysequence) 用户按下或者释放某一个按钮,Locator为元素定位,keysequence为按键对应的ASCII码 18. indexOf:判断两个字符串是否存在包含关系 若x=”abcd”;y=”bc”;则有X.indexOf(y)==0 若不存在包含关系,则X.indexOf(y)==-1 19. System.out.println(value); 可以向屏幕打印出value值,这个value值可以是元素的属性值或者文本值等 20. selenium.getCookie(); 可以取到当前页面的cookie值 21. selenium.deleteCookie(name,path) 删除cookie值中的某个参数,如下: selenium.deleteCookie("_nk_","path=/, domain=.taobao.com, recurse=true"); 删除_nk_参数,path的格式必须指定上面三个字段,path=/表示当前路径,domain=.taobao.com为改cookie所属的域,recurse=true 22. assertValue(locator,pattern) 验证某个可输入元素是否被赋了某个值 23. selenium.close() 关闭浏览器。 24. contextMenu(locator)打开关联的菜单,与右键作用差不多,但是对弹出的菜单selenium没办法操作。 25. 取出value值来与某个已知值对比:assertEquals(“aa”,selenium.getAttribute(xpath+"@value"));