web自动化的一些总结

上一篇 / 下一篇  2016-07-14 15:07:24

1.元素点击偶尔失效
有弹窗广告遮挡——窗口最大化  driver.manage().window().maximize();
元素,页面加载过慢——设置等待时间(隐式,显式) 

2.元素拖拽方法:dragAndDropToObject(toBeDraggedLocator, dragDestinationLocator);在一些版本的Firefox浏览器上失效
通过查阅论坛,发现这个问题很普遍,可以绕过这条语句,使用别的表达方法:
        方法一
       Actions act=new Actions(driver);
       act.clickAndHold(source).build().perform();
       act.moveToElement(target).build().perform();
       act.release(target).build().perform();
        方法二
         Actions builder=new Actions(driver);
         builder.moveToElement(draggable).clickAndHold();  
         builder.moveToElement(target).click().perform();  

3.Xpath到底怎么用:Xpath并不是元素定位的首选,如果能够通过元素ID,Name,Class,Linktext,Tag直接定位,就不要用Xpath.
甚至有人说,宁可找开发给元素新增一个ID或Name,也不要用Xpath。
我在写作业的时候也发现,Xpath非常不好用,对于新手来说,复杂的嵌套和特殊的语法让长长的Xpath表达式令人头疼。
随着之后增加了新需求测试点,元素的Xpath还会发生变化,这时候,还要回过头把更新的Xpath找出来替换进去,很浪费时间
而且,很多浏览器和测试环境对Xpath的调用不是很稳定,所以在定位时会非常麻烦。
但Xpath也不是一无是处,因为它有这清晰的逻辑递归结构,在特殊场合下,也会发挥很好的作用

4.用eclipse调试WEB自动化脚本时,需要注意把Firefox浏览器安装在默认目录下,否则脚本无法运行。

5.元素定位查找有两种写法:
    写法一:适用于,对定位后的元素有较多,较复杂的操作。
    WebElement albumElement=driver.findElement(By.className("name"));
    albumElement.click();
    写法二:适用于,仅仅是找到某元素,然后对其进行简单的,一到两次的操作。
    WebElement albumElement=driver.findElement(By.className("name")).click();


TAG:

 

评分:0

我来说两句

日历

« 2024-04-22  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 17194
  • 日志数: 8
  • 建立时间: 2016-05-31
  • 更新时间: 2016-07-14

RSS订阅

Open Toolbar