黄瓜中javascript的测试内容
我有一个应用程序Rails,用Cucumber进行了测试。这个应用程序有一个谷歌地图,我想要一个黄瓜步骤来测试地图是否有一些“针”(标记)。 据我所知,在DOM中找不到PIN,所以我想简单地测试一下页面是否使用某些参数调用黄瓜中javascript的测试内容,javascript,google-maps,cucumber,Javascript,Google Maps,Cucumber,我有一个应用程序Rails,用Cucumber进行了测试。这个应用程序有一个谷歌地图,我想要一个黄瓜步骤来测试地图是否有一些“针”(标记)。 据我所知,在DOM中找不到PIN,所以我想简单地测试一下页面是否使用某些参数调用map.addMarker() Then /^I should see the top 50 campings on the map$/ do Camping.geocoded.top(50).each do |camping| page.should have_c
map.addMarker()
Then /^I should see the top 50 campings on the map$/ do
Camping.geocoded.top(50).each do |camping|
page.should have_content /map\.addMarker\(#{camping.latitude}, #{camping.longitude}, "#{camping.name}"\)/
end
end
页面底部有一个脚本标记,其中填充了的content\u,源代码有:
<script>
$(document).ready(map.addMarker(51.7780246, 5.97571, "Bij Ons"))
</script>
</body>
$(文档).ready(地图添加标记(51.7780246,5.97571,“Bij Ons”))
map.addMarker
是一些自定义JavaScript,它向地图添加一个标记
我(真的)对测试我的自定义JavaScript和Google maps API是否真的将调用转换为可见的pin(尽管这很好);目前,只要测试JavaScript方法是否被调用就可以了
如何测试页面
是否包含某些JavaScript?上面然后步骤中的代码只测试实际内容,忽略
标记中的内容。诀窍是不要使用have\u content
,而是使用一个更通用的选择器,如have\u xpath
:
page.should have_xpath "//script[contains(.,'map.addMarker(#{camping.latitude}, #{camping.longitude}, \"#{camping.name}\")')]"
这对我不起作用,我需要添加可见的false页面。应该有_xpath”//script[contains(,'blah')]”,可见:false