2016-06-28 11 views
0

У меня есть один сценарий в моей функциональности, где я хотел написать скрипт, если флажок отключил свойство, а затем возвращает true.Как проверить отключенный атрибут, используя extend норки?

<input type="checkbox" class="checkbox-click" id="#checkbox-2" name="testcheck" value="where to go" disabled="disabled"> 

После обычай один, который я пытался, но не получилось:

/** 
    * check for is disabled or not 
    * 
    * @Then /^I check for is disabled "([^"]*)"$/ 
    */ 
    public function isDisabled($selector) 
    { 
     $session = $this->getSession(); 
     $element = $session->getPage()->find(
      'xpath', 
      $session->getSelectorsHandler()->selectorToXpath('css', $selector) // just changed xpath to css 
     ); 

     $return = $element->getAttribute('disabled');  
    } 

Я получаю Фатальная ошибка: GetAttribute вызова на nonobject. Это не идеальный код, но я только что приведен здесь для справки.

+1

, пожалуйста, добавьте код, который вы уже пробовали? –

+0

Я добавил код. пожалуйста, проверьте – Reshma

ответ

2

Это происходит потому, что вы не обрабатываете ошибку. Метод поиска возвращает объект, если элемент найден, иначе он будет возвращать значение null и использовать getAttribute при нулевых результатах в фатальном исключении, поскольку не является объектом.

Вы должны проверить, является ли null, и если да, то выдайте исключение.

Вам не нужно использовать селектор в xpath. Также вы не делаете ошибок, если атрибут не найден.

В качестве проверки вы можете использовать метод hasAttribute() для элемента и исключить случай. Вы еще не можете использовать условное ожидание.