Automation 如何使用Robot框架验证特定元素中是否存在图像

Automation 如何使用Robot框架验证特定元素中是否存在图像,automation,robotframework,Automation,Robotframework,我试图验证网页上是否存在特定元素中的特定图像。图像: 没有唯一的id 没有唯一的alt src属性包含我试图忽略的查询字符串 在页面上出现多次 我不能使用应该包含图像的页面,因为它出现了多次,但我需要验证它是否出现在特定的表单元格中。图像src如下所示: ${BaseUrl}/status_submitted.png?master_2017217_17-29 以下是图像周围的HTML: <table id="mass_list" class="grid"> <tr&g

我试图验证网页上是否存在特定元素中的特定图像。图像:

  • 没有唯一的id
  • 没有唯一的alt
  • src属性包含我试图忽略的查询字符串
  • 在页面上出现多次
我不能使用应该包含图像的页面,因为它出现了多次,但我需要验证它是否出现在特定的表单元格中。图像src如下所示:

${BaseUrl}/status_submitted.png?master_2017217_17-29
以下是图像周围的HTML:

<table id="mass_list" class="grid">
  <tr>
     <th class="shrink align_center">Status</th>
        <th>Action</th>
        <th class="shrink align_right">Submitted</th>
        <th class="shrink">Submitted By</th>
    </tr>
     <tr>
           <td>
               <img src="https://{baseurl}/images/status_submitted.png?master_2017217_17-29" alt="Submitted" width="70" height="20" />
           </td>
           <td class="nowrap">
              Automation Test 1488321180.7

                <br />
                <small class="mute">
                    <strong>0</strong> of <strong>2</strong> records processed
                </small>

            </td>
           <td class="nowrap align_right">Yesterday at 4:33 PM</td>
           <td class="nowrap">Tina Tester</td>
        </tr>
        <tr>
           <td>
               <img src="https://{baseurl}/images/status_submitted.png?master_2017217_17-29" alt="Submitted" width="70" height="20" />
           </td>
           <td class="nowrap">
              Add an attribute

                <br />
                <small class="mute">
                    <strong>0</strong> of <strong>16</strong> records processed
                </small>                  
            </td>
           <td class="nowrap align_right">Yesterday at 8:06 AM</td>
           <td class="nowrap">Tina Tester</td>
        </tr>

地位
行动
提交
提交人
自动化测试1488321180.7

0已处理的2个记录 昨天下午4:33 蒂娜测试器 添加属性
0共处理了16条记录 昨天上午8:06 蒂娜测试器

我需要验证页面上特定的表单元格或xpath位置中是否只存在${BaseUrl}/status_submitted.png。如何做到这一点?

鉴于示例文档,这对我来说是一个相当直接的练习,只使用谷歌Chrome本身。将示例的内容放在一个周围带有HTML/Body标记的文件中,然后使用右键单击inspect来检查控制台中的元素。再次右键单击源标记并选择Copy>Xpath

这将产生以下xPath:
/*[@id=“mass_list”]/tbody/tr[2]/td[1]/img
,其中第一个数字
tr[2]
是行,第二个数字
td[1]
是列


第二种方法是查看图像标记本身,并根据具有该src属性的图像的文件路径位置进行过滤:
/img[contains(@src,“status\u submitted.png”)]

我们可以查看图像的HTML吗?是的,添加到问题中。您可以更具体一些吗?如果我尝试页面应该包含xpath=…,这不会验证图像是否位于xpath。如果我尝试元素应该包含,并提供xpath作为定位器,src属性作为期望值,我会得到一个错误,因为它正在查找文本。你的意思是什么?@quietgrit元素应该是Visible@Todor,不起作用,因为该xpath上总是有一个映像,但它需要是一个特定映像才能通过测试。@Todor是正确的。
元素应该是可见的
将与
xpath=//*[@id=“mass\u list”]/tbody/tr[2]/td[1]结合使用/img
,因为这只会返回一张图像。这由
tr[2]/td[1]/
保证,因为它指向表中的特定单元格及其包含的图像。如果还希望对图像文件名本身执行检查,请使用以下命令:
xpath=/*[@id=“mass\u list”]/tbody/tr[2]/td[1]/img[contains(@src,“status\u submitted.png”)]
。如果这对您不起作用,请提供有关您要测试的内容的更多信息。好的,感谢您的澄清,检查特定表格单元格中是否存在图像src名称是我所要的,以及组合。。元素应该是可见的| xpath=/*[@id=“mass_list”]/tbody/tr[2]/td[1]/img[contains(@s‌​rc,“status_submitted.png”)]就是这样,谢谢!