【问题标题】:automated testing with Watir (or WatiN or similar): Disambiguating Select Elements使用 Watir(或 WatiN 或类似)进行自动化测试:消除选择元素的歧义
【发布时间】:2008-12-18 02:06:47
【问题描述】:

问题:我正在寻找一种方法来运行测试,该测试能够消除在多个位置具有相同值的选定控件之间的歧义。

示例:

我正在尝试从选择控件中选择第三个“星期一”

ie.select_list( :id , 'choose-day' ).set( '-monday' );

其中选择控件在控件本身中有一种“大纲”格式:

alice
-monday
-tuesday
bob
-monday
-tuesday
charlie
-monday
-tuesday

鉴于文本是相同的(而且我不知道选项值是什么提前),有没有办法对测试进行编码,以便 charlie 下的星期一是被选中的那个?

【问题讨论】:

    标签: browser automation watin watir web-testing


    【解决方案1】:

    在WatiN中,你可以利用多属性支持来匹配一个元素(我认为类似的东西在Watir中也可以使用)。

    Option option = ie.SelectList("choose-day").Options(Find.ByText("-monday") && Find.ByIndex(2))

    (索引从零开始,因此 2 将给出第三个匹配项(如果有))。

    HTH, 杰伦·范梅宁 首席开发者WatiN

    【讨论】:

      【解决方案2】:

      看起来你可以使用 element_by_xpath 来找到你想要的选项,像这样:

      //select/option[text()='charlie']/following::option[text()='-monday']

      然后您可以检查该选项的 value 属性(不确定如何在 Watir 中执行此操作),然后使用:

      ie.select_list( :id , 'choose-day' ).select_value( whatever_the_value_was );
      

      【讨论】:

        猜你喜欢
        • 2023-03-29
        • 1970-01-01
        • 2010-12-10
        • 1970-01-01
        • 1970-01-01
        • 2015-11-05
        • 2023-03-27
        • 1970-01-01
        • 2010-10-02
        相关资源
        最近更新 更多