gpt4 book ai didi

behat - 使用Behat和Mink测试拖放

转载 作者:行者123 更新时间:2023-12-03 16:28:23 28 4
gpt4 key购买 nike

我正在尝试在behat测试中模拟拖放UI行为。尽管水貂allegedly supporting that interaction,但到目前为止没有任何成功。

奇怪的是,我很难找到有关这些主题的任何博客文章。我找到的人(thishttp://www.pix-art.be/post/testing-drag-and-drop-with-behat-and-guzzle
)对我没有多大帮助。尤其是后者。

是否有人对如何解决问题有任何建议,或者在实际测试该交互方面有经验?

最佳答案

您可以在ownCloud测试代码中找到一个有效的示例,它确实通过拖放将文件移动到文件夹中:

    public function moveFileTo(
$name, $destination, Session $session, $maxRetries = STANDARD_RETRY_COUNT
) {
$toMoveFileRow = $this->findFileRowByName($name, $session);
$destinationFileRow = $this->findFileRowByName($destination, $session);
$this->initAjaxCounters($session);
$this->resetSumStartedAjaxRequests($session);
for ($retryCounter = 0; $retryCounter < $maxRetries; $retryCounter++) {
$toMoveFileRow->findFileLink()->dragTo(
$destinationFileRow->findFileLink()
);
$this->waitForAjaxCallsToStartAndFinish($session);
$countXHRRequests = $this->getSumStartedAjaxRequests($session);
if ($countXHRRequests === 0) {
\error_log("Error while moving file");
} else {
break;
}
}
if ($retryCounter > 0) {
$message
= "INFORMATION: retried to move file $retryCounter times";
echo $message;
\error_log($message);
}
}

来自: https://github.com/owncloud/core/blob/47396de109965110276deb545a9bd09f375c9823/tests/acceptance/features/lib/FilesPageCRUD.php#L243

首先,它找到必须移动的文件的 NodeElement,然后找到目标的 NodeElement,并调用 $fileToBeMovedElement->dragTo($destinationElement)
因为它被证明是易碎的,所以 dragTo函数周围有一个重试循环。为了测试拖放操作是否有效,代码将检查是否取消了任何AJAX调用(在此特定应用中,此拖放操作会取消WebDAV请求)

关于behat - 使用Behat和Mink测试拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42898544/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com