2016-07-14 69 views
0

我有貝哈特建立了一個框架,測試Drupal站點,一切都是用PHP構建..貝哈特 - 發送TAB按鍵

我需要在屏幕上找到一個隱藏的元素,只有當它出現的元素選項卡,並且框架無法通過名稱或xpath/css找到它...有沒有什麼方法可以編寫將按Tab鍵的步驟定義?我都試過了,但不能得到它的工作..

感謝

我發現這個代碼在網上,並認爲這將工作對我來說 -

/** 
* @Given I manually press tab 
*/ 
public function manuallyPressTab() 
{ 
    $this->getSession()->executeScript(" 
$(':focus').trigger($.Event('keypress', {which: 9, keyCode: 9})); 
"); 
+0

請提供硒/貝哈特代碼你試過 –

+0

你需要搜索jQuery的腳本,將壓片並嘗試他們,一些腳本可能適用於某些人,而有些則不適用。如果您在團隊中有UX開發人員,我相信他可以幫助您。 – lauda

+0

你是否嘗試過keyPress,keyDown或keyUp方法? – lauda

回答

0

我解決了這個用下面的方法一個FeatureContext內,並通過使用Zombie.js作爲測試runnner:

/** 
    * @When on :arg1 I manually press tab 
    */ 
    public function onIManuallyPressTab($arg1) { 

    $this->getSession() 
     ->executeScript("jQuery('#$arg1').blur()"); 
    } 
+0

它可能在某些情況下工作,但這不是新聞標籤。你也有一個模糊的方法與水貂。作爲最佳實踐,方法的名稱應該描述方法功能。 – lauda