51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3034|回复: 0
打印 上一主题 下一主题

[SilkTest] SilkTest系列---高级篇(Silk4NET)之断言

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-8-27 16:17:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于自动化测试的断言的重要性,上次在Silk4Jul里已经简单介绍了,在这里也不多说了,总之自动化测试必须有结果验证,否则谁都不知道自动化最终会跑成什么样,跑到哪里去了!
那今天我们再一起来看一下Silk4NET是怎么断言的。
断言前的全部代码如下:
using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SilkTest.Ntf;
using SilkTest.Ntf.XBrowser;

namespace Silk4NETProject1
{
    [SilkTestClass]
    public class UnitTest1
    {
        private readonly Desktop _desktop = Agent.Desktop;

        [TestInitialize]
        public void Initialize()
        {
            BrowserBaseState baseState = new BrowserBaseState();
            baseState.Execute();
        }

        [TestMethod]
        public void TestMethod1()
        {
            BrowserApplication webBrowser = _desktop.BrowserApplication();

            BrowserWindow browserWindow = webBrowser.BrowserWindow();
            browserWindow.DomTextField("//INPUT[@id='kw']").Click(MouseButton.Left, new Point(225, 19));
            browserWindow.DomTextField("//INPUT[@id='kw']").TypeKeys("51testing");
            webBrowser.DomButton("//INPUT[@id='su']").Click(MouseButton.Left, new Point(48, 18));
        }
    }
}

增加断言后的完整代码如下:
using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SilkTest.Ntf;
using SilkTest.Ntf.XBrowser;

namespace Silk4NETProject1
{
    [SilkTestClass]
    public class UnitTest1
    {
        private readonly Desktop _desktop = Agent.Desktop;

        [TestInitialize]
        public void Initialize()
        {
            BrowserBaseState baseState = new BrowserBaseState();
            baseState.Execute();
        }

        [TestMethod]
        public void TestMethod1()
        {
            BrowserApplication webBrowser = _desktop.BrowserApplication();

            BrowserWindow browserWindow = webBrowser.BrowserWindow();
            browserWindow.DomTextField("//INPUT[@id='kw']").Click(MouseButton.Left, new Point(225, 19));
            browserWindow.DomTextField("//INPUT[@id='kw']").TypeKeys("51testing");
            webBrowser.DomButton("//INPUT[@id='su']").Click(MouseButton.Left, new Point(48, 18));
            String getTextValue;
            getTextValue = browserWindow.DomTextField("//INPUT[@id='kw']").GetProperty("value").ToString();
            System.Console.WriteLine(getTextValue);
            Assert.AreEqual("51testing1", getTextValue);
        }
    }
}
Assert在断言正确的情况下,看不出任何的运行信息,只有当断言失败时,才会显示运行后的值的不一致之处,如下代码是先让断言失败:
Assert.AreEqual("51testing1", getTextValue);
看运行后的结果如何。如下图所示:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-11 22:15 , Processed in 0.069059 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表