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

 iFrame 定位的思想是先定位到iFrame,再定位iFrame里面的元素。

常用到的3个方法:
select()--------------------------选取要操作的frame
selectParentContainer()  ------这个是回到上一层frame的 
selectTopPage() ----------------这个是回到顶部页面
 

具体例子:
1.新建2个html 页面,放于D盘,作为被测试的页面
main.html
<html>
    <head >
        <title> FrameTest</title >
    </head >
    <body >
        <div id = "id1"> this is a div !</ div>
        <iframe id = "frame"  frameborder="0" scrolling="no" style="left :0; position:absolute;" src = "iframe.html"></ iframe>
    </body >
</html> 
iframe.html
<html>
    <head >
        <title> this is a frame!</title >
    </head >
    <body >
        <div id = "div1"> this is a div !oo! </div>
        <label> input:</label >
        <input id = "input1"></ input>
    </body >
</html>


2.新建一个Page类,例子类目为P.java,代码如下:
import com.holmos.webtest.element.TextField;
import com.holmos.webtest.struct.Frame;
import com.holmos.webtest.struct.Page;

public class P extends Page {
        public P() {
               super();
               this.comment = "iframe页面";
               this.init();
       }
        // 先定位Frame
        public IFrameTest frame = new IFrameTest( "iframe");
       {
               frame.addIDlocator("frame" );// frame定位用ID定位
       }
        // 定位Frame里面的元素
        public class IFrameTest extends Frame {
               public IFrameTest(String comment) {
                      super(comment);
              }
               public TextField input = new TextField( "输入框" );// 定位里面的输入框
              {
                      input.addIDLocator("input1" );
              }
       }
}



新建一个Test类,例子类目为P_Test,代码如下:
import org.junit.Test;

import com.holmos.webtest.EngineType;
import com.holmos.webtest.utils.HolmosWindow;

public class P_Test {
        public P p = new P();

        @Test
        public void input() {
              HolmosWindow. openNewWindow(EngineType.WebDriverChrome, "D:\\main.html" );
               p.frame .select();// 选取要操作的frame
               p.frame .input.setText( "试试看!能不能输入" );// 操作frame里面的元素
               p.frame .selectTopPage();// 控制器交还给最底层页面
       }
}


执行结果:

控制台输出:



多层iFrame定位思想是一个样的,一层一层往里边定位。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值