发布时间:2017-01-24责任编辑:朱明 浏览:1490
1. 优点:开源、速度快、效率高、成本低、准确性高, 支持多种语言(C#、JAVA、Python、JS等)、孪生兄弟appium可以做手机测试
2. 缺点:不能一劳永逸(程序发生变化,测试脚本需要随之改变)、风险比较高(也要写代码,也要维护脚本)、验证比较麻烦、没有人的直觉(比如一个按钮在哪),只适合测试web平台,不能测试window项目
3. 适合的场合:回归测试(测试的重复)、验收测试、通过性测试、集成测试、冒烟测试
4. 组合套装:firefoxfirefox bugger插件selenium ide插件vimperator
5. 自动化测试主要是GUI(基于Windows的应用)、TUI(基于手机的APP应用)、WUI(基于Web的应用)三种类型的应用进行测试。
6. 自动化测试步骤,缺一不可(SE制作全流程):
1) 准备:产品功能的梳理、测试用例的设计、手工执行测试用例
2) 制作:录制脚本、编辑脚本、调试脚本
3) 运行:运行脚本、检查运行日志
7. Selenium全家福:selenium ideselenium gridselenium rcselenium webdriver
8. 环境搭建需要注意的问题:
![]()
需要改成0
9. 测试套件:多个测试案例,要保存测试套件需要先保存测试案例。
10. 制作测试案例:
1) 录制:测试案例的制作最简单的是录制,但是录制不能解决所有的问题,比如以下情况:
a) 有些操作不被录制,(富文本框输入文字时,se支持的不是很好,不会被录制)
b) 有些操作录制不正确(操作录制很正常,但是回放的时候会报错)
c) 越是优秀的网站越容易录制
2) 添加断言和验证:录制过程中或录制完成可以添加断言和验证,
a) 断言失败,测试会终止
b) 验证失败,测试会继续
3) 编辑:其中包括:
a) 命令三个参数:command,target,value
b) 添加命令
c) 添加注释
d) 表格试图
e) 原始图
11. 测试案例过程中的使用技巧
1) 执行一个案例的时候,如果想暂停在某个页面对某个页面添加验证,选中一个命令行,右键鼠标,选择”ToggleBreakpoint”执行暂停操作即可,如果继续执行下面的页面的验证可以手动操作。
2) 如果要增加一段文字的验证,鼠标停留在要验证的文字上面,右键->可以找到对应文字的验证命令
Selenium中篇(指令篇)
1. 常用命令
命令 | 作用 | 使用方式 |
echo | 一般用于调试,打印常量或变量 | store(2,num_1) echo ${num_1} |
highlight | 一般用于调试,高亮显示页面上的哪个元素 | |
open | 打开一个链接 | |
click | 单击页面上的一个元素 | |
verifyTitle | 得到当前被测页面的标题 | |
verifyText | 得到当前被测元素的文本内容 | |
verifyElementPresent | 验证这个页面上是否有目标元素出现 |
2. Selenese命令分类

3. Locator元素定位,identifier(id,name)、id、name、xpath、dom、linktext、css7种定位方式
Locator基本语法:type(以上其中定位类型)=value(相关元素对应的值)
1) identifier、id、name、linktext四种简单定位方式
name定位时如果存在多个相同name的元素,只定位第一个元素,可以加过滤器进行过滤。比如name=btn value=save
2) css定位
标记和ID选择器:css=tag#id(tag表示元素标记比如form,input等)
标记和类选择器:css=tag.classname(classname表示样式名字)
标记和属性选择器:css=tag[attribute](attribute表示元素的属性)
标记和类、属性选择器:css=tag.classname[attribute]()
标记和内部文本选择器:css=tag:contains(“innerText”)
3) xpath定位
http://www.w3school.com.cn/xpath/index.asp
4) dom定位
dom=document.getElementyById()
dom=document.getElementyByName()
dom=document.forms[index|name]
dom=document.forms[“form”].name|document.forms[“form”].elements[index|name]
总结
Selenium web IDE 只能使用对web项目进行简单的 功能测试,而且仅支持firefox浏览器,无法实现复杂的测试功能。如果实现复杂的测试工作可以使用selenium WebDriver,但Selenium WebDriver需要手动编写测试脚本,没有开发经验的测试人员是无法实现的,而且编写脚本的过程类似编写一个小项目的过程,同样需要对自动化脚本进行测试、修改,最终个人认为有些项目不适合做复杂的自动化测试,可以考虑selenium进行简单的页面功能测试。
敬业工作室 供稿