php - Selenium:如何断言某个元素存在于某个表的某个单元格中?

标签 php unit-testing selenium html-table selenium-rc

我的页面上有一个表格,它应该包含某个元素。我可以通过名称来识别表格(它有一个唯一的名称),而且我还可以轻松地识别元素。我想断言该元素存在于表的 r 行、c 列中。使用 Selenium 命令最简洁的方法是什么?

备注:

  • 我不想使用更多的表名来定位它(我不想要所有的 div\div\table\div\tbody\td\tr[r]\td[ c] 在代码中)。
  • 我在 PHPUnit 中使用 Selenium。因此,我可以为该任务使用 PHP 逻辑,尽管我不想为这样一个简单的任务使用任何复杂的逻辑。

澄清:

如果单元格中的元素只是纯文本,那么我可以像这样检索该文本:

$this->getText("xpath=//table[@name='tableName']//tr[".$r."]//td[".$c."]") ; (PHP)

但是如果单元格有一个元素不是纯文本怎么办?如果元素是链接 (link=anchor) 或按钮 (//button[@type='button']) 或图像或更复杂的东西怎么办?

我需要断言由该元素的定位器指定的元素位于给定的单元格中。

最佳答案

听起来你想要 isElementPresent(...locator of element...)。例如:

$cell = "//table[@name='tableName']//tr[".$r."]/td[".$c."]";
$foundLink = $this->isElementPresent("xpath=".$cell."/a[.='".linktext."']");
$foundButton = $this->isElementPresent("xpath=".$cell."/button[@type='button']");
$foundImage = $this->isElementPresent("xpath=".$cell."/img[ends-with(@src='pretty-pony.gif')]");

isElementPresent() 如果存在则返回 true,否则返回 false

关于php - Selenium:如何断言某个元素存在于某个表的某个单元格中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7240402/

相关文章:

javascript - 无法在 grails 应用程序中使用 selenium 检索文本框文本

python - 在新标签页中打开网页 Selenium + Python

php - artisan 队列:work and artisan horizon:work?有什么区别

javascript - 使用动态参数调用函数

c# - 在其他测试中使用 Microsoft fakes 时单元测试变慢

python - 单元测试二进制文件输出

java - Webelement.click() 在 appium 中给出 java.lang.NullPointerException

php - 在本地主机中打开 10 月 cms

php - 从 Android 上传大文件(大于 10MB)到 PHP 服务器

Python pytest mock 失败,函数调用断言为 "assert None"