51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1724|回复: 2
打印 上一主题 下一主题

selenium java验证搜索结果遇到的问题

[复制链接]
  • TA的每日心情
    奋斗
    2017-4-1 09:18
  • 签到天数: 6 天

    连续签到: 2 天

    [LV.2]测试排长

    跳转到指定楼层
    1#
    发表于 2017-3-28 10:05:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


    如图所示,想要遍历device type、device model、firmware name、firmware version这4列的值

    代码如下:

      @Test
      public void test1() throws Exception {
        String searchtext="gate";
        driver.findElement(By.xpath("//input[@ng-model='search']")).clear();
        driver.findElement(By.xpath("//input[@ng-model='search']")).sendKeys(searchtext);
        driver.findElement(By.xpath("//button[@type='submit']")).click();
        WebElement table = driver.findElement(By.tagName("table"));
        int count = 0;
        List<WebElement> rows = table.findElements(By.tagName("tr"));   
        for(WebElement row:rows){  
            List<WebElement> cols= row.findElements(By.tagName("td"));
            for(WebElement col:cols){
                    Pattern pattern = Pattern.compile(searchtext,Pattern.CASE_INSENSITIVE);//大小写不敏感
                   Matcher matcher = pattern.matcher(col.getText());
                   if(matcher.find()){
                    System.out.println("第"+ row +"行:"+ col.getText());
                    count = count + 1;
                    break;               
                   }               
            }  
            System.out.println("+++++++++++++++++++++");  
        }
            AssertJUnit.assertEquals(count, rows.size());
           
      }

    按顺序遍历每行每列,当当前行匹配到第一个值符合搜索的字符时,该行剩下的列不再去匹配,跳到下一行,同时count+1(用来验证搜索到的总条目)

    运行时出错了:
    org.openqa.selenium.StaleElementReferenceException: stale element reference: element is not attached to the page document

    百度了也不明白是怎么回事,是以为分页问题吗,求大神指教,不胜感激
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-10 10:58
  • 签到天数: 194 天

    连续签到: 1 天

    [LV.7]测试师长

    3#
    发表于 2017-4-12 18:52:52 | 只看该作者
    意思是元素过时了 代码没仔细看 是不是元素被刷新掉或者因为某些原因消失了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 01:55 , Processed in 0.067082 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表