Tôi có một dòng thực sự đơn giản trong một thử nghiệm mà các cuộc gọi thực thi kịch bản như thế này:Làm thế nào để trả về một giá trị khi sử dụng execute_script trong capybara?
puts page.execute_script("return somefunction();").to_i.inspect
Và trong javascript Tôi có một chức năng như thế này:
function somefunction(){
console.log("test");
return 999;
}
Các 'test' từ giao diện điều khiển đăng nhập đang nhận được đăng xuất vì vậy nó đang chạy tuy nhiên ...
Nhìn vào nhật ký khi chạy thử nghiệm, hàm execute_script trả về 0 không 999, vì vậy trong rspec tôi không thể nhận được giá trị trả về từ hàm, cách thực hiện Tôi trả về page.execute_script giá trị đó từ hàm đó?
nào lái xe bạn đang sử dụng? Dường như nó hoạt động với ít nhất Selenium-Webdriver. –
Đó là Poltergeist. – Smickie