Selenium(3)
练习1:Ecshop
录制登录后退出业务
打开系统
存储页面的标题
a.点击"登录"按钮
b.输入用户名:testing
存储输入的用户名
c.输入密码:123456
d.点击"立即登录"按钮
存储登录成功的提示信息
存储登录成功后页面显示的用户名
e.选择"手机类型"选项
f.点击"退出"按钮
TC3001_Ecshop_复习.html

TS3_ECshop.html

一、常用的命令
1、Accessor命令,存储类的命令
(1)可以在录制时添加:
a.在被测系统中元素上右键
b.选择Show All Available Commands选项
c.选择需要使用的命令(storeTitle、storeValue、storeText)
d.在弹出的变量名称框中输入变量名
注意:录制时如果加入了storeTitle存储,录制后要修改storeTitle代码,只有一个参数,参数是变量名
2、断言Assertion命令分类:
(1)assertXXX:一旦验证失败,脚本停止运行,一般用于重要的检查点
(2)verifyXXX:一旦验证失败,会继续运行脚本,会在Log日志中记录失败的结果,一般用于次要的检查点
(3)waitForXXX:用于等待指定的条件变为真,如果到达超时时间,还未等待到预期结果,会记录失败,停止运行
3、常用的Assertion命令
(1)assertTitle(预期值):断言当前网页的标题是否等于预期值
练习2:Echsop
验证登录后退出页面的Title是否与打开时页面Title一致
a.打开后存储页面Title t1
b.退出后验证Title是否与t1一致
TC3003_Ecshop_assertTitle.html

(2)assertText(locator,预期值):断言指定页面元素的文本是否等于预期值,一般针对纯文本或者链接的页面元素
练习3:在第3个用例中添加断言
a.验证点击"登录"按钮前,"登录"按钮前显示的是否为"欢迎光临本店"
b.再验证点击"退出"按钮后,"退出"按钮后面是否显示"查看购物车"
(3)assertValue(locator,预期值):断言指定页面元素的值是否等于预期值,一般针对文本框、单选按钮、复选框(on/off)
练习4:check
TC3004_check_assertValue.html

TS3_check.html
练习5:Ecshop
录制在分类下拉框中选择"手机类型",输入关键字"9",点击"搜索"按钮
a.搜索后,断言搜索结果统计个数是否为"13"
b.搜索后,断言搜索输入框中的值是否显示"9"
c.断言"搜索"按钮是否显示"搜索"文本两个字
d.点击第一个商品后,断言默认的购买数量是否为"1",断言颜色"黑色"是否为选中,断言"蓝牙耳机"是否未选中
TC3005_Ecshop_assert.html

(4)assertElementPresent(locator):断言指定页面元素是否出现
assert:断言
Element:元素
Present:出现
(5)assertAlert(预期值):断言是否弹出提示信息框,并且信息提示框中的内容是否等于预期值
TC3006_Ecshop_assertAlert.html

注意:在录制过程中,提示信息框上点击"确认"时,会在代码中录制生成assertAlert命令,并且获取到被测系统的提示信息作为预期值
(6)assertSelectedIndex(locator,预期编号):断言指定下拉框是否选中指定编号的选项,编号从0开始
练习6:Echsop
录制选择分类(手机类型),输入关键字进行搜索
a.在搜索后,断言类型下拉框是否显示"手机类型"
TC3006_Ecshop_assertSelectedIndex.html

练习7:Echsop(assertAlert)
a.点击"登录"按钮
b.不输入任何信息,点击"立即登陆"按钮
c.验证提示信息是否正确
d.输入用户名,不输入密码,,点击"立即登陆"按钮
e.验证提示信息是否正确
TC3007_Ecshop_assertAlert.html

(7)Selenium IDE使用时注意事项:
a.IDE对空格和换行符处理不好
b.录制前和回放前都需要打开被测系统
c.IDE只支持Firefox,不支持其他浏览器
d.不建议把不同系统的Case放到一个套件中
e.打开脚本时建议先打开套件,再打开Case
二、WebDriver
1、环境搭建
(1)准备Java环境(jdk、环境变量、Myeclipse)
(2)从selenium官网下载driver,放到指定的目录解压
(3)启动Myeclipse
Path=
C:\Program Files\Java\jdk1.6.0_25\bin;
C:\Program Files\Java\jdk1.6.0_25\jre\bin;
(4)创建工程:
1) Flie->New->Java Project
2) 输入项目名称:seleniumProject
3) 点击 Next
4) 选择Libraries,点击Add External JARS按钮
5) 选择selenium-java-2.33.0.jar
6) 再次点击Add External JARS按钮,选择Libs,Ctrl+A选择所有的jar,添加到项目中
<tr>
<td>open</td>
<td>file:///D:/Selenium/day01/example/message.html</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name=name</td>
<td>selenium</td>
</tr>
<tr>
<td>type</td>
<td>name=e-mail</td>
<td>selenium@tedu.cn</td>
</tr>
<tr>
<td>type</td>
<td>name=comments</td>
<td>Hello,selenium</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>css=input[type="submit"]</td>
<td></td>
</tr>
driver.get(baseUrl + "file:///D:/Selenium/day01/example/message.html");
driver.findElement(By.name("name")).clear();
driver.findElement(By.name("name")).sendKeys("selenium");
driver.findElement(By.name("e-mail")).clear();
driver.findElement(By.name("e-mail")).sendKeys("selenium@tedu.cn");
driver.findElement(By.name("comments")).clear();
driver.findElement(By.name("comments")).sendKeys("Hello,selenium");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
Selenium(3)的更多相关文章
- 面试准备——(三)Selenium(1)基础问题及自动化测试
转载:https://www.cnblogs.com/lesleysbw/p/6413880.html 面试准备——(三)Selenium(1)基础问题及自动化测试 滴滴面试: 1. 自己负责哪部 ...
- Selenium(Webdriver)自动化测试常问问题
http://blog.sina.com.cn/s/blog_c189e2590102w3bv.html Selenium(Webdriver)自动化测试常问问题 (1)selenium中如何保证操作 ...
- 初识Selenium(三)
浅谈基于Selenium的Web自动化测试框架 发表于:2011-4-25 10:58 作者:邵育亮 来源:51Testing软件测试网原创 字体:大 中 小 | 上一篇 | 下一篇 | 打印 ...
- 初识Selenium(一)
Selenium入门相关PPT参考网址:http://wenku.baidu.com/view/d1e7d90390c69ec3d5bb7565.html?from=search 内容引用网址:htt ...
- py库: Selenium (自动化测试)
http://blog.csdn.net/liujingqiu/article/details/50458553 http://www.cnblogs.com/zhaof/p/6953241.html ...
- selenium(五)伪造浏览器
简介: 这个就比较好玩了,大家还记得以前的QQ小尾巴么?还有百度贴吧的小尾巴,就是那个来自***的iphone7,这个功能. 这个功能是基于浏览器的user-agent功能实现的. 还是httpbin ...
- Selenium(Webdriver)自动化测试常问到的问题解答(转自:潜龙0318)
今天朋友问我了几个关于Selenium自动化测试的问题,我看了一下感觉还比较典型.结合我以往自动化测试的经验,给出了一些儿粗浅的答案,希望能帮大家,如果大家有什么好的看法,希望相互交流,相互学习! ( ...
- Selenium(一)自动化测试简介
1.软件开发流程 产品分析需求--架构师确认系统包含哪些模块--开发编码--开发和测试一起做单元测试--测试开展版本(集成)测试(使用手工测试,测试通过后,才开始设计脚本)--测试开展系统测试--最后 ...
- Selenium(6)
一.定位页面元素 1.高级定位:层级定位 思路:先定位到祖先节点,在定位该祖先节点范围内的子节点 2.高级定位:Xpath定位(重点) (1)Xpath定位:Xpath就是一个表达式,表示元素的路径, ...
- Selenium(4)
练习1:使用selenium+firefox测试ecshop登录过程 一.WebDriver 1.启动浏览器 (1)启动Firefox浏览器 a.启动默认路径下的浏览器 WebDriver drive ...
随机推荐
- 《精通并发与Netty》学习笔记(05 - Google Protobuf与Netty的结合)
protobuf是由Google开发的一套对数据结构进行序列化的方法,可用做通信协议,数据存储格式,等等.其特点是不限语言.不限平台.扩展性强 Netty也提供了对Protobuf的天然支持,我们今天 ...
- typescript实现类规则
备注: 单独的 index.d.ts对于代码实现没有约束性,将约束和实现写在一个页面里有约束性,或者使用如下: // clock.interface.ts export interface Clock ...
- 关于keildownload键变为灰色不能使用的问题
有时候 有些朋友可能会遇到这样的问题 突然间download键变成灰色,导致不能将程序下载到芯片中 遇到中问题如果不是软件卡了 那就是可能一不小心点错了,关掉了下载条件“约定” 可以点“魔术棒” ...
- [转帖]如何在Linux上使用命令行查看硬件信息
如何在Linux上使用命令行查看硬件信息 时间:2016-01-13 作者:admin 分类:新手入门 阅读:126次 http://embeddedlinux.org.cn/emb-linux/ ...
- Java中的责任链设计模式,太牛了!
责任链设计模式的思想很简单,就是按照链的顺序执行一个个处理方法,链上的每一个任务都持有它后面那个任务的对象引用,以方便自己这段执行完成之后,调用其后面的处理逻辑. 下面是一个责任链设计模式的简单的实现 ...
- Java实现循环队列
一.分析 队列是一种先进先出的线性表,它只允许在表的一端进行插入,而在另一端删除元素.允许插入的一端称为队尾,允许删除的一端称为队头. 循环队列是一种以顺序存储结构表示的队列,为了解决“假溢出”问题而 ...
- Remainder Problem(分块) Educational Codeforces Round 71 (Rated for Div. 2)
引用:https://blog.csdn.net/qq_41879343/article/details/100565031 下面代码写错了,注意要上面这种.查:2 800 0,下面代码就错了. ...
- rbac权限控制组件实现控制的基本原理图
今天先整理一个rbac的权限控制的原理图上来 代码 后面就不透漏了,但是实现的方法有很多种,我这个只是其中一种的一部分!
- ubuntu下npm全局安装包报错的解决方案
大概就是 npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ERR ...
- 美团2017年CodeM大赛-初赛B轮 黑白树 (树形dp)
大意: 给定树, 初始每个点全为白色, 点$i$有权值$k_i$, 表示选择$i$后, 所有距离$i$小于$k_i$的祖先(包括i)会变为黑色, 求最少选多少个点能使所有点变为黑色. 链上情况的话, ...