【问题标题】:Verify sorting in Selenium在 Selenium 中验证排序
【发布时间】:2010-09-19 23:11:38
【问题描述】:

有人用 Selenium 测试过排序吗?我想验证以不同方式对表格进行排序(a-z、z-a、状态、日期等)。任何帮助将不胜感激。

/Göran

【问题讨论】:

    标签: user-interface sorting selenium


    【解决方案1】:

    在用 selenium 检查之前,你必须做一些小事。将表值(排序后出现)存储在stringarray 中。

    现在使用 selenium 执行排序并将新列表捕获为

    string new_list= selenium.gettable("xpath");
    

    现在比较两个值并检查它们是否相同。

    【讨论】:

      【解决方案2】:

      我在blog 上分享了一个测试应用程序排序功能的策略。您可以使用它来自动化验证应用程序排序功能的测试用例。您可以在应用程序的搜索结果页面、项目列表和报告模块等地方使用它。解释的策略不需要创建测试数据并且是完全可扩展的。

      【讨论】:

        【解决方案3】:

        您可以像这样获取字段的值:

         //div[@id='sortResult']/div[1]/div  (this'd be row 1 of the search result)
         //div[@id='sortResult']/div[2]/div   ( row 2)
        

        (我在这里对 HTML 结构做了一些假设,但你明白我的意思......)

        这些可能是非常脆弱的断言,我建议您将这些 xpath 引用锚定到外部容器元素(不是文档的根,就像许多“自动”工具所做的那样)。

        当您单击排序时,值会发生变化。您必须找出这些值应该是什么。

        还要注意浏览器与此类 xpath 的兼容性。他们并不总是 ;)

        【讨论】:

          【解决方案4】:

          我解决这个问题的方法是将预期的排序结果定义为一个数组,然后迭代从排序页面返回的结果,以确保它们符合我的期望。

          这有点慢,但确实有效。 (实际上,我们通过这种方式设法在多个页面上发现了一些低级排序缺陷......)

          【讨论】:

            【解决方案5】:

            您可以使用 Selenium 2.0 中的 WebDriver API(目前为 alpha 版本)在排序前后使用 findElements 命令返回一个元素数组。但是,如果您要排序的内容是分页的,这会变得有点困难。

            【讨论】:

              猜你喜欢
              • 2021-03-17
              • 1970-01-01
              • 2022-01-04
              • 1970-01-01
              • 2013-08-11
              • 1970-01-01
              • 1970-01-01
              • 2023-03-27
              • 1970-01-01
              相关资源
              最近更新 更多