|
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文件结构如下图所示:
|
|