使用Capybara-Webkit,在客户端代码运行之前注入Javascript

时间:2016-01-21 22:28:55

标签: capybara capybara-webkit

有没有办法尽快注入javascript?

visit("/path/to/my/page")
page.execute_script("document.getElementsByTagName('html')[0].className += ' hybrid-app';")

我正在测试一些仅在混合移动应用程序中使用时才会影响Web应用程序的内容。除非此类存在,否则我的混合应用相关代码不会运行。从本机iOS代码中我注入了一些javascript,它在页面加载之前向HTML标记添加了一个类。

问题在于,当从Capybara测试中做同样的事情时,它的添加时间太晚了。

目前我正在通过明确调用我的混合应用程序设置代码来解决这个问题。这并不理想,因为这不是混合应用程序的工作方式,可能会导致副作用。

visit("/path/to/my/page")
script = %q(
     document.getElementsByTagName('html')[0].className += ' neeman-hybrid-app';
     hybridAppSetup();
)
page.execute_script(script)

0 个答案:

没有答案