51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3127|回复: 3
打印 上一主题 下一主题

[SilkTest] SilkTest系列---高级篇(Silk4J)之读写文件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-8-9 11:35:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Silk4J使用的是高级语言----Java,相信大家可以在网上找到很多类似的读写文件的方法,这些玩法是难不到大家的。从数据文件里读取一行数据,取到值后并赋值给百度的搜索框,然后再进行搜索和结果断言,全部代码如下所示:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

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() {
                File file = null;
                BufferedReader reader = null;
               
                String fileName = "D:\\silktest\\论坛文档\\baidu.txt";
                file = new File(fileName);
                String tempString = null;
               
                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));
                try {
                        System.out.println("以行为单位读取文件内容,一次读一整行:");
                        reader = new BufferedReader(new FileReader(file));
                       
                        int line = 1;
                        //一次读入一行,直到读入null为文件结束
                        while ((tempString = reader.readLine()) != null){
                        //显示行号
                        System.out.println("line " + line + ": " + tempString);
                        line++;
                //desktop.<DomTextField>find("/BrowserApplication//BrowserWindow//INPUT[@id='kw']").typeKeys("51testing");
                desktop.<DomTextField>find("/BrowserApplication//BrowserWindow//INPUT[@id='kw']").setText(tempString);
                desktop.<DomButton>find("/BrowserApplication//BrowserWindow//INPUT[@id='su']").click(MouseButton.LEFT, new Point(38, 15));
                //判断对象是否存在
                Boolean bExists = desktop.exists("/BrowserApplication//BrowserWindow//INPUT[@id='kw']", 1000);
                if (bExists == true)
                {
                        //获取需要比对的数据
                        String getTextValue;
                        getTextValue = desktop.<DomTextField>find("/BrowserApplication//BrowserWindow//INPUT[@id='kw']").getProperty("value").toString();
                        //比对数据断言
                        Assert.assertEquals(tempString, getTextValue);
                }
                else
                {
                        //如果对象不存在,则断言“用户搜索失败!”
                        Assert.fail("User find fail!");
                }
                }
                        reader.close();
                } catch (IOException e) {
                        e.printStackTrace();
                } finally {
                if (reader != null){
                        try {
                                reader.close();
                        } catch (IOException e1) {
                                e1.printStackTrace();
                        }
                }
                }
        }
       
}

目前只完成了从文件读取数据并传递给自动化测试对象,至于文件写的部分,就留给大家去扩展吧,如果有问题,可以随时进行交流!
其中txt文件结构如下图所示:

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2013-8-9 21:27:03 | 只看该作者
回复 1# 沅芷湘兰


    顶~~~,版主大人
一条新增就有好多字段要输入,要是能实现类似读excel痛快,用读xml或者读properties应该好实现些,咋样????
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2013-8-12 09:18:48 | 只看该作者
回复 2# wower1985


   
在Java环境下实现起来,应该会很方便的,高级语言嘛,想怎么玩就怎么玩,我这里只是做个完整的实例来实现整个过程,并做了一些简单的结果验证,所以体现得比较长。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2014-4-25 22:37:21 | 只看该作者
没有和谐版本,一切都是浮云。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-28 06:46 , Processed in 0.097223 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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