query('tag:label')->all(); } /** * Get text of selected element. * * @return string */ public function getText() { $radio = $this->query('xpath:.//input[@type="radio"]')->all()->filter(new CElementFilter(CElementFilter::SELECTED)); if ($radio->isEmpty()) { throw new Exception('Failed to find selected element.'); } if ($radio->count() > 1) { $radio = $radio->filter(new CElementFilter(CElementFilter::VISIBLE)); if ($radio->isEmpty()) { throw new Exception('Failed to find visible selected element.'); } if ($radio->count() > 1) { CTest::zbxAddWarning('Selected element is not one.'); } } return $radio->first()->query('xpath:../label')->one()->getText(); } /** * Select label by text. * * @param string $text label text to be selected * * @return $this */ public function select($text) { $this->query('xpath:.//label[text()='.CXPathHelper::escapeQuotes($text).']')->waitUntilVisible()->one()->click(); return $this; } /** * Get label of selected element. * * @return string */ public function getSelected() { return $this->getText(); } /** * @inheritdoc */ public function isEnabled($enabled = true) { return (($this->query('xpath:.//input[@type="radio"][not(@disabled)]')->count() > 0) === $enabled); } /** * Alias for select. * @see self::select * * @param string $text label text to be selected * * @return $this */ public function fill($text) { return $this->select($text); } /** * @inheritdoc */ public function getValue() { return $this->getSelected(); } }