Html.HtmlBrowser属性的应用
刚开了个帖子,区分两个ie窗口的,有人说.windows窗口很土,但也不是一无是处。.windows属性真的很土 ??
比如新开了两个空白的ie,所有的属性都是一样的。我们做测试的时候,通常是登录两个用户,一个用户提交,一个用户处理。
问题就在登录前,两个登录页面是相同的,如果采用一般的方法,务必会找到两个相同的对象,使测试无法继续。
工作中的一段代码:
try {
Runtime.getRuntime().exec("tskill IEXPLORE");
Runtime.getRuntime().exec("cmd.exe /c start IEXPLORE");
Runtime.getRuntime().exec("cmd.exe /c start IEXPLORE");
} catch (IOException e) {
e.printStackTrace();
}
sleep(8);
TestObject[] ieWin;
RootTestObject root = RootTestObject.getRootTestObject();
ieWin = root.find(atDescendant(".class", "Html.HtmlBrowser"));
System.out.println(ieWin.length);
if(ieWin.length<2){
System.out.println("不能实现,没有找到2个ie窗口");
}else{
BrowserTestObject BrowserWin_1=(BrowserTestObject)ieWin;
BrowserTestObject BrowserWin_2=(BrowserTestObject)ieWin;
BrowserWin_1.loadUrl("http://127.0.0.1:8080/demo");
BrowserWin_2.loadUrl("http://127.0.0.1:8080/demo");
GuiTestObject text_username1=(GuiTestObject)ieWin.find(atDescendant(".class","Html.INPUT.text",".name","userName"));
text_username1.setProperty(".value","username01");
GuiTestObject text_username2=(GuiTestObject)ieWin.find(atDescendant(".class","Html.INPUT.text",".name","userName"));
text_username2.setProperty(".value","username02");
GuiTestObject button1=(GuiTestObject)ieWin.find(atDescendant(".class","Html.INPUT.submit",".value","登录"));
button1.click();
GuiTestObject button2=(GuiTestObject)ieWin.find(atDescendant(".class","Html.INPUT.submit",".value","登录"));
button2.click();
} 挺好挺好。呵呵。
[ 本帖最后由 lovetest6 于 2007-12-14 19:12 编辑 ]
页:
[1]