沅芷湘兰 发表于 2013-8-7 15:15:51

SilkTest系列---高级篇(Silk4J)之断言

自动化测试过程中,对于测试结果的验证和比对,还是一个永恒且无法回避的话题,那今天我们就简单的来看一下,在Eclipse里是如何做结果验证的呢,那就是断言(Assert),今天主要完全的任务是在上次录制的脚本中去加入断言,来判断输入框内的值是否为我们的期望值。
        整个过程基本上可以用代码来实现,那我们就先上未断言前的代码:
import com.borland.silktest.jtf.Desktop;
import org.junit.Before;
import com.borland.silktest.jtf.BrowserBaseState;
import org.junit.Test;
import com.borland.silktest.jtf.xbrowser.BrowserApplication;
import com.borland.silktest.jtf.xbrowser.BrowserWindow;
import com.borland.silktest.jtf.xbrowser.DomTextField;
import com.borland.silktest.jtf.common.types.MouseButton;
import com.borland.silktest.jtf.common.types.Point;
import com.borland.silktest.jtf.xbrowser.DomButton;

public class testSilk4J {

        private Desktop desktop = new Desktop();

        @Before
        public void baseState() {
                BrowserBaseState baseState = new BrowserBaseState();
                baseState.execute(desktop);
        }

        @Test
        public void Case01() {
                desktop.<BrowserApplication>find("/BrowserApplication").setActive();
                desktop.<BrowserWindow>find("/BrowserApplication//BrowserWindow").navigate("http://www.baidu.com/");
                desktop.<DomTextField>find("/BrowserApplication//BrowserWindow//INPUT[@id='kw']").click(MouseButton.LEFT, new Point(16, 17));
                desktop.<DomTextField>find("/BrowserApplication//BrowserWindow//INPUT[@id='kw']").typeKeys("51testing");
                desktop.<DomButton>find("/BrowserApplication//BrowserWindow//INPUT[@id='su']").click(MouseButton.LEFT, new Point(38, 15));
        }

}


操作思路:在点击“搜索”按钮后,取回输入框的值,再与期望值进行比对,成功则返回True,否则返回False,主要代码如下:
import junit.framework.Assert;

import com.borland.silktest.jtf.Desktop;
import org.junit.Before;
import com.borland.silktest.jtf.BrowserBaseState;
import org.junit.Test;
import com.borland.silktest.jtf.xbrowser.BrowserApplication;
import com.borland.silktest.jtf.xbrowser.BrowserWindow;
import com.borland.silktest.jtf.xbrowser.DomTextField;
import com.borland.silktest.jtf.common.types.MouseButton;
import com.borland.silktest.jtf.common.types.Point;
import com.borland.silktest.jtf.xbrowser.DomButton;

public class testSilk4J {

        private Desktop desktop = new Desktop();

        @Before
        public void baseState() {
                BrowserBaseState baseState = new BrowserBaseState();
                baseState.execute(desktop);
        }

        @Test
        public void Case01() {
                desktop.<BrowserApplication>find("/BrowserApplication").setActive();
                desktop.<BrowserWindow>find("/BrowserApplication//BrowserWindow").navigate("http://www.baidu.com/");
                desktop.<DomTextField>find("/BrowserApplication//BrowserWindow//INPUT[@id='kw']").click(MouseButton.LEFT, new Point(16, 17));
                desktop.<DomTextField>find("/BrowserApplication//BrowserWindow//INPUT[@id='kw']").typeKeys("51testing");
                desktop.<DomButton>find("/BrowserApplication//BrowserWindow//INPUT[@id='su']").click(MouseButton.LEFT, new Point(38, 15));
//获取需要比对的数据
                String getTextValue;
                getTextValue = desktop.<DomTextField>find("/BrowserApplication//BrowserWindow//INPUT[@id='kw']").getProperty("value").toString();
//比对数据断言
                Assert.assertEquals("51testing", getTextValue);
        }

}
试运行后,如果断言比对成功,只能看到运行成功的标志,如果运行失败,才会显示为运行失败,那我们就可以先将Assert.assertEquals("51testing", getTextValue);里的“51testing”改为“51testing1”,看看运行结果吧!

wower1985 发表于 2013-8-7 17:32:02

回复 1# 沅芷湘兰


    强力!:)学习了
页: [1]
查看完整版本: SilkTest系列---高级篇(Silk4J)之断言