51Testing软件测试论坛

标题: Html.HtmlBrowser属性的应用 [打印本页]

作者: tthhbbandy    时间: 2007-11-21 11:55
标题: 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[0];
        BrowserTestObject BrowserWin_2=(BrowserTestObject)ieWin[1];
        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[0].find(atDescendant(".class","Html.INPUT.text",".name","userName"))[0];
        text_username1.setProperty(".value","username01");
        GuiTestObject text_username2=(GuiTestObject)ieWin[1].find(atDescendant(".class","Html.INPUT.text",".name","userName"))[0];
        text_username2.setProperty(".value","username02");
        GuiTestObject button1=(GuiTestObject)ieWin[0].find(atDescendant(".class","Html.INPUT.submit",".value","登录"))[0];
        button1.click();
        GuiTestObject button2=(GuiTestObject)ieWin[1].find(atDescendant(".class","Html.INPUT.submit",".value","登录"))[0];
        button2.click();
}
作者: lovetest6    时间: 2007-12-14 19:07
挺好挺好。呵呵。

[ 本帖最后由 lovetest6 于 2007-12-14 19:12 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2