尝试通过分配给变量 i 来增加对象的值。请指教
trying to increment a value of the object by assigning to a variable i . Please advice
下面是我的 code.I 尝试将 excel sheet 中的值输入到页面中的文本框。例如:在id为'allocationRegContrib[17].newFundValue'的文本框中,我想输入一个值,比如20。同样对于另一个id为'allocationRegContrib[18].newFundValue'的文本框,我想输入一个值,比如40。如何实现。同样,id 最多为 60。但我不想在所有文本框中输入。所以我尝试使用 fill_in "allocationRegContrib[i].newFundValue"。
@i=17
for j in (workbook.first_row..workbook.last_row)
for k in (workbook.first_column..workbook.last_column)
if(k==1)
fill_in "searchInput", :with => workbook.cell(j,1)
find(:xpath, '//*[@id="sdcaLink"]').click
sleep 3
else
choose("sdcaOption", :option => "YES")
select(workbook.cell(j,k), :from => 'sdcaDuration')
fill_in "allocationRegContrib[i].newFundValue", :with => workbook.cell(j,k)
@i=i+1
find(:xpath, '//*[@id="specialDCAupdate"]').click
但这对我不起作用。错误是 "unable to locate the capybara element allocationRegContrib[i].newFundValue"。请指教
您可能有两个问题:
i
和 @i
不是一回事。我认为您可能希望在所有地方都使用 i
。 i
是局部变量(即简单的普通旧变量)。 @i
是 class 的实例变量,就像其他语言中的 "field" 或 "property"。
fill_in "allocationRegContrib[i].newFundValue", :with => workbook.cell(j,k)
大概应该是:
fill_in "allocationRegContrib[#{i}].newFundValue", :with => workbook.cell(j,k)
#{i}
将变量 i
的值放入字符串中,然后水豚匹配器可以找到,例如元素 allocationRegContrib[17].newFundValue
(当 i=17 时)
下面是我的 code.I 尝试将 excel sheet 中的值输入到页面中的文本框。例如:在id为'allocationRegContrib[17].newFundValue'的文本框中,我想输入一个值,比如20。同样对于另一个id为'allocationRegContrib[18].newFundValue'的文本框,我想输入一个值,比如40。如何实现。同样,id 最多为 60。但我不想在所有文本框中输入。所以我尝试使用 fill_in "allocationRegContrib[i].newFundValue"。
@i=17
for j in (workbook.first_row..workbook.last_row)
for k in (workbook.first_column..workbook.last_column)
if(k==1)
fill_in "searchInput", :with => workbook.cell(j,1)
find(:xpath, '//*[@id="sdcaLink"]').click
sleep 3
else
choose("sdcaOption", :option => "YES")
select(workbook.cell(j,k), :from => 'sdcaDuration')
fill_in "allocationRegContrib[i].newFundValue", :with => workbook.cell(j,k)
@i=i+1
find(:xpath, '//*[@id="specialDCAupdate"]').click
但这对我不起作用。错误是 "unable to locate the capybara element allocationRegContrib[i].newFundValue"。请指教
您可能有两个问题:
i
和 @i
不是一回事。我认为您可能希望在所有地方都使用 i
。 i
是局部变量(即简单的普通旧变量)。 @i
是 class 的实例变量,就像其他语言中的 "field" 或 "property"。
fill_in "allocationRegContrib[i].newFundValue", :with => workbook.cell(j,k)
大概应该是:
fill_in "allocationRegContrib[#{i}].newFundValue", :with => workbook.cell(j,k)
#{i}
将变量 i
的值放入字符串中,然后水豚匹配器可以找到,例如元素 allocationRegContrib[17].newFundValue
(当 i=17 时)