2016-07-14 72 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