单击带有编码的日期 - 标准



用户有第一个单击到达日期的单击,第二次单击以送达日期。

这是我的代码。

//Change Arriving Date
    $dateFrom = date( 'j'); // Get today's Day
    $dateTo = date('j', strtotime("+2 day")); // Add x Days from now
    $I->click('.js-date-view');
    $I->waitForElement('.mod-3rd-level-navi__anchor');
    $I->click($dateFrom);
    $I->wait(1);
    $I->moveMouseOver($dateTo);
    $I->click($dateTo);
    $I->wait(1);
    //Submit
    $I->click('.js-send-form.btn-primary');

测试在$dateTO失败,但在$dateFrom时不会失败。Baiscly它不想单击"离开日期"。

步骤在12

时失败
 12. $I->moveMouseOver("11") at tests/acceptance/../../changeDetailsCest.php:42
 11. $I->wait(1) at tests/acceptance/.../.../changeDetailsCest.php:41
 10. $I->click("7") at tests/acceptance/.../.../changeDetailsCest.php:40
 9. $I->waitForElement(".mod-3rd-level-navi__anchor") at tests/acceptance/.../.../changeDetailsCest.php:39
 8. $I->click(".js-date-view") at tests/acceptance/.../.../changeDetailsCest.php:38
 7. $I->wait(1) at tests/acceptance/.../.../changeDetailsCest.php:32

错误

[MalformedLocatorException] CSS or XPath locator is malformed: 11

moveMouseOver的参数不同于 click

click试图通过文本找到元素 -

如果给出了模糊的定位器,则将搜索该页面以匹配定位器字符串的按钮,链接或图像。对于按钮,搜索"值"属性,"名称"属性和内部文本。对于链接,搜索链接文本。对于图像,搜索了任何父链接的" alt"属性和内部文本。

moveMouseOver不按文本搜索,您必须为其提供有效的CSS或XPATH选择器。示例:$I->moveMouseOver('#date-11')

如果您可以使用它,则可以使用ClickWithLeftButton方法而不是moveMouseOver click的组合。

最新更新