美文网首页
Web自动化框架之WebSpec

Web自动化框架之WebSpec

作者: 夜境 | 来源:发表于2017-07-26 22:39 被阅读37次

    本文章转载于搜狗测试

    本文小编将给大家介绍另外一个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

    相关文章

      网友评论

          本文标题:Web自动化框架之WebSpec

          本文链接:https://www.haomeiwen.com/subject/bicjkxtx.html