如何在水豚测试中触发 keyup。我已经尝试了所有标准方法
How to trigger keyup in capybara tests. I have tried all the standard methods
我写了下面的rspec/capybara测试:
scenario "admin can create patient invoices with discounted items", driver: :poltergeist do
product = create(:product, practice_group: practice_group)
patient = create(:patient)
location = create(:location, practice_group: practice_group)
practice_group
login_as_admin(admin)
visit "/invoices/new?patient_id=#{patient.id}"
select location.name, :from => "invoice_location_id"
add_product_to_invoice(product)
add_discount_to_product(0.05)
submit_invoice_form
expect(Invoice.count).to eq(1)
expect(Invoice.last.total_amount).to eq("£9.50")
end
def add_discount_to_product(discount)
find(".discount-input").send_keys((discount * 100).to_s)
page.execute_script("$('.discount-input').trigger('keyup')")
end
我尝试了各种不同的策略来触发这个按键事件,但是 jQuery .on
侦听器在测试期间没有触发。
我正在使用 poltergeist 驱动程序。
关于如何触发此事件的任何建议?水豚的 .trigger
似乎不适用于 poltergeist。
send_keys
将发送 keyup 事件 - 更有可能的是您的页面上确实有 JS 无法由 Poltergeist 运行,因为它不支持现代 JS/CSS。尝试 运行 使用 selenium 或 Chrome CDP 驱动程序(如 apparition
的一种新的直接直接测试
我写了下面的rspec/capybara测试:
scenario "admin can create patient invoices with discounted items", driver: :poltergeist do
product = create(:product, practice_group: practice_group)
patient = create(:patient)
location = create(:location, practice_group: practice_group)
practice_group
login_as_admin(admin)
visit "/invoices/new?patient_id=#{patient.id}"
select location.name, :from => "invoice_location_id"
add_product_to_invoice(product)
add_discount_to_product(0.05)
submit_invoice_form
expect(Invoice.count).to eq(1)
expect(Invoice.last.total_amount).to eq("£9.50")
end
def add_discount_to_product(discount)
find(".discount-input").send_keys((discount * 100).to_s)
page.execute_script("$('.discount-input').trigger('keyup')")
end
我尝试了各种不同的策略来触发这个按键事件,但是 jQuery .on
侦听器在测试期间没有触发。
我正在使用 poltergeist 驱动程序。
关于如何触发此事件的任何建议?水豚的 .trigger
似乎不适用于 poltergeist。
send_keys
将发送 keyup 事件 - 更有可能的是您的页面上确实有 JS 无法由 Poltergeist 运行,因为它不支持现代 JS/CSS。尝试 运行 使用 selenium 或 Chrome CDP 驱动程序(如 apparition