2013-10-14 11 views
5

हर बार जब मैं बुनियादी PHPUnit सेलेनियम कथनों में से एक, परीक्षण त्रुटियों और इस संदेश को प्रदर्शित करता है का उपयोग करने का प्रयास के साथ एक कमांड कॉल नहीं कर सकता:कई विधि तर्क

Exception: You cannot call a command with multiple method arguments. 

http://phpunit.de/manual/3.7/en/selenium.html पर, यह उपयोग दिखाता है होना करने के लिए :

void assertElementValueEquals(string $locator, string $text) 

जब मैं

$this->assertElementValueEquals('id=date_1_formatted', '2013-01-01'); 

टी से कॉल करने की स्था इस तरह के सवाल Using PHPUnit with Selenium, how can I test that an element contains exactly something?

+0

मैं सुझाव देता हूं कि या तो '# date_1_formatted' 'या' id = 'date_1_formatted'] "' – Richard

+0

"सुझाव के लिए धन्यवाद, लेकिन उनमें से प्रत्येक अभी भी एक ही त्रुटि उत्पन्न करता है। –

+0

मुझे कोई विशिष्ट दस्तावेज नहीं मिल रहा है जो स्पष्ट रूप से कॉल करता है कि '$ locator' क्या होना चाहिए, लेकिन यह संभव है कि यह केवल xpath स्वीकार करता हो। इस मामले में, मैं कोशिश करता हूं '// [@ id =' date_1_formatted '] "' – Richard

उत्तर

3

assertElementValueEqualsSelenium2TestCase में लागू नहीं है के रूप में उपरोक्त त्रुटि हर बार भले ही यह एक ही प्रारूप लगता है दूसरों के लिए काम करने पैदा करता है। आपके लिंक पर यह सेलेनियमटेस्टकेस (सेलेनियम आरसी संस्करण) के लिए उल्लेख किया गया है।

इसके अलावा, आप $ इस- साथ सही संरचना का इस्तेमाल किया> byXPath यहाँ https://github.com/sebastianbergmann/phpunit-selenium/blob/master/Tests/Selenium2TestCaseTest.php

भी तरह आप उपयोग कर सकते $ this-> byId():

$element = $this->byId('date_1_formatted'); 
$this->assertEquals('2013-01-01', $element->value()); 

पुनश्च: आप परिचित हैं, तो सेलेनियम आईडीई के साथ, आप इस command line tool को आजमा सकते हैं।

+0

यदि आप उद्घाटन और समापन टैग के बीच में शामिल मान प्राप्त करना चाहते हैं, उदाहरण के लिए 'Hello' '' element तत्व-> टेक्स्ट() ''तत्व' मानते हुए' तत्व 'है, तो' हैलो 'प्राप्त करें। –

0

इस मामले में भी चला गया, मेरे मामले में यह मेरा स्वयं कस्टम विधि था, इसलिए मैंने सोचा कि यह एक रेखा थी।
बाहर निकलता है मैं परीक्षण वर्ग और phpunit के बीच एक अलग "बफर" वर्ग का उपयोग कर रहा था जैसा मैंने सोचा था। लेकिन क्योंकि यह __call() लोट का उपयोग करता है, इसलिए उसने "अपरिभाषित विधि" की बजाय त्रुटि को दिया।

संबंधित मुद्दे