【发布时间】:2014-11-16 22:41:27
【问题描述】:
这是按钮的html:
<button class="btn btn-hover-success"><i class="icon-plus"></i> Add</button>
这里是根据 chrome 扩展的 XPath 路径:
/body[@class='wide']/div[@class='container']/div[@id='main']/div[@class='container']/div[@class='content']/div[@class='users form']/form[@id='UserAddForm']/div[@class='button-control-row']/button[@class='btn btn-hover-success']
我尝试使用byXPath 和byCssSelector(和byLinkText,但它实际上不是链接)来定位按钮,但没有成功。这是我最近的一次:
// Attempt to add a bogus user
$netidInput = $this->byId('UserNetid');
$netidInput->value('bogus01');
$submitLink = $this->byCssSelector('button');
$this->assertEquals('Add', $submitLink->text());
$this->click();
$this->assertContains('Users', $this->title());
assertEquals 成功匹配按钮文本“添加”,但无法单击它。我收到以下错误:
这是针对 RHEL 6.4 上的 Xvfb 无头浏览器运行的。如果我遗漏了任何相关信息,请告诉我。感谢您提供的任何建议!
编辑:添加另一个可能会触发某人某事的不同错误的尝试。
$submitLink = $this->byXPath("//button[contains(text(),'Add')]");
$this->assertEquals('Add', $submitLink->text());
$this->click("//button[contains(text(),'Add')]");
这会导致错误:
There was 1 error:
1) UsersViewTest::testMyTest
PHPUnit_Extensions_Selenium2TestCase_WebDriverException: java.lang.String cannot be cast to java.lang.Long
【问题讨论】: