如何用水豚填补timepicker字段

时间:2014-06-27 12:12:54

标签: xpath capybara contains timepicker

我是水豚的新手,我在文字领域遇到了一些问题,水豚无法找到这个领域。

我需要创建自动测试,其中一个必须填写一直变化的字段(id和名称更改,它们是这样的:id =“patternDailyStart_146d7547140”,这个数字总是不同的)。

Html部分如下所示:

    <div class="timepicker">
    <input value="" id="patternDailyStart_146d7547140" 
        name="patternDailyStart_146d7547140" 
        class="timepicker-input patternDailyStart hasDatepicker" 
        type="text">
    <img class="ui-datepicker-trigger"      
        src="/mpromoter/assets/4716a6a0a357181/app/components/timefield/clock.png" 
        alt="..." 
        title="...">
    </div>

这是时间选择领域。而问题是水豚无法找到这个领域..但是我试图找到它来填充。

当我尝试找到这个xpath,然后找到它,但是当我想用时间填充它($ starttime = 17:00)然后它说没有找到元素或者它不存在。

找到这些xpath:

page.has_xpath?('//tbody/tr/div/input[contains(., "patternDailyStart")]')
page.has_xpath?(:xpath, "//*[@class='timepicker-input patternDailyStart hasDatepicker']")

我试着像这样填写:

And(/^fill up the fields$/) do
field = find("//*[@class='timepicker-input patternDailyStart hasDatepicker'")
field.set $starttime
end

就像这样:

fill_in('timepicker-input.patternDailyStart.hasDatepicker', :with => $starttime)

就像这样:

within(:xpath,'//tbody/tr/div/input[contains(., "patternDailyStart")]'){ fill_in("#patternDailyStart", with: $starttime)}

还有很多其他的方式,但仍然没有填补这些领域..

所以我要求一些帮助。我需要做什么,有什么建议吗?

谢谢...... :)

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是通过其“模式日常启动”来定位输入。类:

find(:css, '.patternDailyStart').set($starttime)