qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

Holmos自动化测试入门学习(四)---------------iFrame里面元素的定位

 iFrame 定位的思想是先定位到iFrame,再定位iFrame里面的元素。
常用到的3个方法:
select()--------------------------选取要操作的frame
selectParentContainer()  ------这个是回到上一层frame的 
selectTopPage() ----------------这个是回到顶部页面
 
具体例子:
1.新建2个html 页面,放于D盘,作为被测试的页面
main.html
  1. <html>  
  2.     <head >  
  3.         <title> FrameTest</title >  
  4.     </head >  
  5.     <body >  
  6.         <div id = "id1"> this is a div !</ div>  
  7.         <iframe id = "frame"  frameborder="0" scrolling="no" style="left :0; position:absolute;" src = "iframe.html"></ iframe>  
  8.     </body >  
  9. </html><span style="font-family: Tahoma;"> </span>  
iframe.html
  1. <html>  
  2.     <head >  
  3.         <title> this is a frame!</title >  
  4.     </head >  
  5.     <body >  
  6.         <div id = "div1"> this is a div !oo! </div>  
  7.         <label> input:</label >  
  8.         <input id = "input1"></ input>  
  9.     </body >  
  10. </html>  

2.新建一个Page类,例子类目为P.java,代码如下:
  1. import com.holmos.webtest.element.TextField;  
  2. import com.holmos.webtest.struct.Frame;  
  3. import com.holmos.webtest.struct.Page;  
  4.   
  5. public class P extends Page {  
  6.         public P() {  
  7.                super();  
  8.                this.comment = "iframe页面";  
  9.                this.init();  
  10.        }  
  11.         // 先定位Frame  
  12.         public IFrameTest frame = new IFrameTest( "iframe");  
  13.        {  
  14.                frame.addIDlocator("frame" );// frame定位用ID定位  
  15.        }  
  16.         // 定位Frame里面的元素  
  17.         public class IFrameTest extends Frame {  
  18.                public IFrameTest(String comment) {  
  19.                       super(comment);  
  20.               }  
  21.                public TextField input = new TextField( "输入框" );// 定位里面的输入框  
  22.               {  
  23.                       input.addIDLocator("input1" );  
  24.               }  
  25.        }  
  26. }  


新建一个Test类,例子类目为P_Test,代码如下:
  1. import org.junit.Test;  
  2.   
  3. import com.holmos.webtest.EngineType;  
  4. import com.holmos.webtest.utils.HolmosWindow;  
  5.   
  6. public class P_Test {  
  7.         public P p = new P();  
  8.   
  9.         @Test  
  10.         public void input() {  
  11.               HolmosWindow. openNewWindow(EngineType.WebDriverChrome, "D:\\main.html" );  
  12.                p.frame .select();// 选取要操作的frame  
  13.                p.frame .input.setText( "试试看!能不能输入" );// 操作frame里面的元素  
  14.                p.frame .selectTopPage();// 控制器交还给最底层页面  
  15.        }  
  16. }  

执行结果:

控制台输出:
多层iFrame定位思想是一个样的,一层一层往里边定位。
更多0

posted on 2014-05-12 16:09 顺其自然EVO 阅读(258) 评论(0)  编辑  收藏 所属分类: HOLMOS


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜