Mink:这些方法是在哪里定义的?
Mink: Where are these methods defined?
我正在学习 Mink,想找一份 API 参考资料。我已深入研究 Mink 源代码寻找答案,但感到困惑。
文档给出了它的使用示例:
$session->getPage()->hasContent("bla");
$session->getPage()->find('css', 'title')->getText();
但是我在源代码中找不到这些方法getPage
、getText
、find
、hasContent
。 (但它们似乎有效)。
Mink 似乎充分利用了 OOP 模式,而我显然还不够聪明,无法弄清楚到底发生了什么! 任何人都可以给我一个 link 到 API 的参考,或者帮助我理解这些方法的定义位置吗?
例如,我一直困惑为什么这不起作用:
$this->assertTrue($session->getPage()->find('css', 'title')->hasContent("Part of the page's Title"));
(我收到错误 Call to undefined method Behat\Mink\Element\NodeElement::hasContent()
)
但是我找不到一个叫做NodeElement
的玻璃杯,更不用说它有什么方法可以使用了。
好吧,从未使用过 Mink,但来源在 github:
来自https://github.com/minkphp/Mink/blob/master/src/Session.php:
/**
* Returns page element.
*
* @return DocumentElement
*/
public function getPage()
{
return $this->page;
}
由于getPage()returns一个DocumentElement对象,可以看看DocumentElementclass:https://github.com/minkphp/Mink/blob/master/src/Element/DocumentElement.php
由于 DocumentElement 扩展了 TraversibleElement,而 TraversibleElement 又扩展了 Element,您最终会在 Element 中找到 find() 函数。这是 IDE 真正帮助您遍历代码库以找到所调用函数的实际位置的地方。
我希望我指的是同一只 Mink。在 github.
查看源代码
对于getPage()
,例如,看这个
https://github.com/minkphp/Mink/blob/master/src/Session.php
首先,您应该从 MinkContext
扩展 FeatureContext
class。 MinkContext 有很多有用的断言方法和用于页面元素的方法。 F.e.
$this-> assertElementContains('CSS_IDENTIFIER_EXAMPLE', 'Some text');
$this->fillField($field, $value);
用指定的 id|name|label|value 填写表单域。
可用方法的完整列表在 GitHub MinkContext
上检查
这里还有一个 behat cheat sheet,它显示了与 html 元素一起使用的基本信息和方法。
我正在学习 Mink,想找一份 API 参考资料。我已深入研究 Mink 源代码寻找答案,但感到困惑。
文档给出了它的使用示例:
$session->getPage()->hasContent("bla");
$session->getPage()->find('css', 'title')->getText();
但是我在源代码中找不到这些方法getPage
、getText
、find
、hasContent
。 (但它们似乎有效)。
Mink 似乎充分利用了 OOP 模式,而我显然还不够聪明,无法弄清楚到底发生了什么! 任何人都可以给我一个 link 到 API 的参考,或者帮助我理解这些方法的定义位置吗?
例如,我一直困惑为什么这不起作用:
$this->assertTrue($session->getPage()->find('css', 'title')->hasContent("Part of the page's Title"));
(我收到错误 Call to undefined method Behat\Mink\Element\NodeElement::hasContent()
)
但是我找不到一个叫做NodeElement
的玻璃杯,更不用说它有什么方法可以使用了。
好吧,从未使用过 Mink,但来源在 github:
来自https://github.com/minkphp/Mink/blob/master/src/Session.php:
/**
* Returns page element.
*
* @return DocumentElement
*/
public function getPage()
{
return $this->page;
}
由于getPage()returns一个DocumentElement对象,可以看看DocumentElementclass:https://github.com/minkphp/Mink/blob/master/src/Element/DocumentElement.php
由于 DocumentElement 扩展了 TraversibleElement,而 TraversibleElement 又扩展了 Element,您最终会在 Element 中找到 find() 函数。这是 IDE 真正帮助您遍历代码库以找到所调用函数的实际位置的地方。
我希望我指的是同一只 Mink。在 github.
查看源代码对于getPage()
,例如,看这个
https://github.com/minkphp/Mink/blob/master/src/Session.php
首先,您应该从 MinkContext
扩展 FeatureContext
class。 MinkContext 有很多有用的断言方法和用于页面元素的方法。 F.e.
$this-> assertElementContains('CSS_IDENTIFIER_EXAMPLE', 'Some text');
$this->fillField($field, $value);
用指定的 id|name|label|value 填写表单域。
可用方法的完整列表在 GitHub MinkContext
上检查这里还有一个 behat cheat sheet,它显示了与 html 元素一起使用的基本信息和方法。