如何使用水豚测试图像的src和alt值?

| 我正在尝试使用水豚和CSS选择器编写测试alt文本+图像的src值的方法。 任何想法都可以在单个xpath中进行测试吗?     
已邀请:
        一种更简单的方法是对该图像使用id:
page.find(\'#profile-avatar\')[\'src\'].should have_content \'default.png\'
已针对rspec 3更新:
expect(page.find(\'#profile-avatar\')[\'src\']).to have_content \'default.png\'
expect(page.find(\'#profile-avatar\')[\'alt\']).to match(/some-value/)
    
        
variable=find(:xpath, \"//img[@class=\'class_name\']\")
variable[\'src\'].should == \"url\"
variable[\'alt\'].should == \"text\"
    
        您可以使用xpath检查多个属性
assert page.has_xpath(\"//img[@src = \'some_value\' and @alt=\'some_value\']\")
    
        
Should
有点过时了。
Expect
是RSpec的新期望语法。 在自己的规范中分开期望是一种好习惯。 个人喜好:我尽量避免使用“ 7”,因为它不能完全验证我想要的属性的值,而只是执行“ 8”。可能导致误报。
before(:all) do
  @avatar_image = find(\'#profile-avatar\')
end

it \'has correct src\' do
  expect(@avatar_image[:src]).to eq(\"some_url\")
end

it \'has correct alt text\' do
  expect(@avatar_image[:alt]).to eq(\"some_text\")
end
    
        我遇到了一些麻烦,因为图像的src具有一些动态值,所以我这样做了:
find(locator+\' img\')[\'src\'].include?(img_src).should be_true
我并不在乎路径,即使文件名正确     
        它不能直接回答您的问题,但是如果某些人喜欢调试可以简化速度,那么我建议使用以下语法:
find(:xpath, \"//img[@class=\'avatar\']/@src\").text.should match /some url/
find(:xpath, \"//img[@class=\'avatar\']/@alt\").text.should match /some text/
因为如果失败,该错误将更加明显。 (它将实际显示
src
alt
的值)。     

要回复问题请先登录注册