我正在使用 cucumber/ruby/capybara/siteprism 框架,我在识别元素时遇到问题,因为我们要么缺少 ID、名称等,要么他们实时创建它们。
我主要是尝试在 siteprism 页面对象模型中定义其中的一些元素。例如,我试图在下面的“名字”的“输入”字段中输入一些数据:
<div class="control-group">
<label class="control-label" for="input_field_dec_<random_number>">
First Name
<span class="required"></span>
</label>
<div class="controls">
<input id="input_field_dec_<random_number>" class=" span5" type="text" value="" scripttofire="SetUserFirstName('input_field_dec_<random_number>')" required="required" name="input_field_dec_<random_number>" data-val-required="First Name is required" data-val-regex-pattern="^[a-zA-Z0-9_ \-\']*$" data-val-regex="Only alphabetic and numeric characters allowed" data-val="true">
<span class="field-validation-valid help-inline" data-valmsg-for="input_field_dec_<random_number>" data-valmsg-replace="true"></span>
</div>
</div>
有没有办法传递标签文本(例如:'First Name' - 忽略周围的空格,比如 - contains='First Name'),然后找到里面的输入元素来设置它?
我在想一些事情:
element :first_name_field, :xpath, "//label[contains(text()='Continue'])/<and here something to find the input field?>" but cannot figure it out...