我想导航到一个特定的url,不想每次都硬编码值。有没有一种方法可以调用"SELENIUM_BASEURL"来执行此操作。
$this->url('http://www.google.com');
phpunit.xml…
<php>
<!-- define some constants to use in our test classes -->
<const name="SELENIUM_HOST" value="127.0.0.1"/>
<const name="SELENIUM_BASEURL" value="http://www.google.com"/>
</php>
<testsuites>
<testsuite name="SeleniumSetup">
<directory>tests/integration/</directory>
</testsuite>
</testsuites>
是的,在这种情况下可以使用SimpleXML
:
$xml = simplexml_load_file('phpunit.xml');
$element = $xml->xpath('//php/const[@name="SELENIUM_BASEURL"]');
$selenium_baseurl = $element[0]->attributes()->value;
echo $selenium_baseurl; // http://www.google.com
或使用DOMDocument
:
$dom = new DOMDocument();
$dom->load('phpunit.xml');
$xpath = new DOMXpath($dom);
$selenium_baseurl = $xpath->evaluate('string(//php/const[@name="SELENIUM_BASEURL"]/@value)');
echo $selenium_baseurl; // http://www.google.com
然后:
$this->url($seleniium_baseurl);
您已经在XML中定义了常量,因此您可以通过通常的方式访问它们:
$this->url(SELENIUM_BASEURL);