在Selenium扩展中使用glob到PHPUnit来识别元素
发布时间:2020-12-13 16:13:09 所属栏目:PHP教程 来源:网络整理
导读:我正在使用Selenium扩展在 PHPUnit中编写Selenium测试用例.在测试中,我断言页面上存在某个链接. 例如,假设我想声明页面中存在以下链接: a href="http://www.stackoverflow.com"click here to enter stackoverflow/a 为了断言链接存在,我需要识别它.通常我们
我正在使用Selenium扩展在
PHPUnit中编写Selenium测试用例.在测试中,我断言页面上存在某个链接.
例如,假设我想声明页面中存在以下链接: <a href="http://www.stackoverflow.com">click here to enter stackoverflow</a> 为了断言链接存在,我需要识别它.通常我们使用它们的锚文本来识别链接:assertElementPresent(“link = click here to enter stackoverflow”). 我不想使用其整个锚文本来识别链接,而只是锚文本包含的子字符串“stackoverflow”.我可以使用glob和star运算符来执行此操作:assertElementPresent(“link = glob:* stackoverflow *”) 这在selenium IDE上非常有效,但是当在PHPUnit中编写等效代码时,断言失败了.这是PHPUnit中的等效代码行: $this->assertTrue(isElementPresent("link=glob:*stackoverflow*")); 上面的断言失败,因为没有标识元素link = glob:* stackoverflow *.应该标识该元素,因为页面上存在一个链接,其锚文本包含字符串“stackoverflow”. 我的问题比我给出的简单示例更通用:我如何使用glob来识别Selenium扩展中的元素到PHPUnit? 解决方法
我们在所有Selenium测试用例中使用XPath表达式,但我没有参与编写它们,也没有调查其他选项.如果你找不到让glob工作的方法,你总是可以依靠这个:
self::assertTrue($this->isElementPresent("//a[contains(.,'stackoverflow')]")); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |