本文章转载于搜狗测试
本文小编将给大家介绍另外一个Web自动化框架—WebSpec。WebSpec是基于Watij的一款跨平台、跨浏览器框架,支持Java/ruby两种语言、IE/Mozilla/Safari三种浏览器、windows/Linux/mac三个平台。
相比于当前最流行的Selenium,他提供了对IE浏览器更加强大、稳定的支持。不同于Selenium会启动浏览器执行case,WebSpec是在jetty容器中运行case的,因此,在IE浏览器中进行自动化时会更加稳定。另外,它对一些常用的操作封装非常完善,使用起来很简单,易于上手。
一、环境准备
1、jdk安装及配置
详细过程略… …(网上资料很多,大家自行百度/Google)
2、eclipse下载
详细过程略… …
3、下载WebSpec
下载地址:https://sourceforge.net/projects/watij/files/WebSpec/,下载最新版本即可。
下载WebSpec完成后,eclipse中新建一个Java工程,并将下载的文件解压,将解压目录中lib目录所有文件和java/dist目录下webspec.jar导入新建工程build path中。
4、下载testng
下载testng.jar包(我喜欢用testng测试框架,若使用其他框架,导入对应的框架jar包即可,如junit),并导入到新建工程中。
到此为止,准备工作完成了,下面我们将会进入正题—编写Case~~~
二、WebSpec使用
1、WebSpec自动化Case编写
首先,我们以搜狗游戏登陆为例来看看是如何通过WebSpec编写自动化Case的,具体代码如下:
从上面代码我们可以看出,Webspec case代码非常简单、清晰。
2、WebSpec常用操作
a) 元素定位
主要有两种定位方式:id和tag定位,例如:
id定位:findWithId(“”);
tag定位:find().p().with.className(“”)
b) 窗口切换
Browse(Index),其中index为0表示原有窗口,Index为1表示新开窗口;
c) 断言
AssertEquals(“期望值”, “实际值”);
ShouldHave(“value”, “/some subtest/”);
d) 内容获取
例如要获取class 属性为login-title的标签处文本内容:
spec.find().p().with.className("login-title").get().innerText()
e) Cookie操作
WebSpec同时提供了cookie创建、查找、删除相关的操作,如删除操作:
Spec.cookie.all.delete
网友评论