2014-10-20 36 views
1

我想导航到特定的URL并且不希望每次都硬编码该值。有没有办法调用'SELENIUM_BASEURL'来代替。使用PHP检索存储在XML中的值

$ 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> 

回答

0

是,你可以在这种情况下使用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); 
+0

非常感谢您! :) – 2014-10-20 13:18:16

+0

@AkifTahir很高兴帮助 – Ghost 2014-10-20 13:19:56

0

你已经在你的XML定义的常量,这样你就可以访问它们通常的方式:

$this->url(SELENIUM_BASEURL); 
+0

谢谢@gontrollez – 2014-10-20 13:19:25