说说watir-webdriver那些事(四)定位frames

 

frame一直是一个让自动化测试工程师极其头疼的问题,尤其是watir针对iframe总是有些奇怪的问题,并且针对那些不太明白html的人来说,frame也确实比较难以理解。我简单说明一下,frame简单的说就是在一个页面里可以套用其他的页面,但是可能我们在看页面的时候没有什么感觉,基本看不出来。但是在做自动化测试的时候,就一定要关注Frame,比方说页面里面有个frame,在这个frame里包含一个其他的页面,包含一个文本框,我们要向这个文本框里写内容要写成

 

 

b.frame(:id=>"frame1").text_field(:id=>"name").set "rex"

 

注意这里一定要带着frame,而其他情况,不必要这种硬性的层级关系;这种情况下如果你在查看空间的时候没有加入frame的话,一般就会报空间找不到的错误。 

 

在watir-webdriver里面定位frame也比较简单,就像上面用到的方法:

 

 

b.frame(:id => "content_ifr").send_keys "hello world"

 

 

 

这里有一个测试用的实例,可以试验一下:

 

 

#iframe.html

 

  <html>
  <head>
  <title>Frame test</title>
  </head>
  <body>

        <p id = "p">Outside frame</p>

        <iframe id = "f_1" f1" src = "iframe-part1.html"></iframe>


    </body>
</html>

 #iframe-part1.html

 

<html>
<head>
<title>iframe_part1</title>
</head>
<body>
 <p> -000000- </p>
 <input type="text" name="fname" />
</body>
</html>

你可能感兴趣的:(webdriver)