Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Behat-发送选项卡按键_Php_Selenium_Drupal_Behat - Fatal编程技术网

Php Behat-发送选项卡按键

Php Behat-发送选项卡按键,php,selenium,drupal,behat,Php,Selenium,Drupal,Behat,我有一个用Behat构建的框架,测试一个drupal站点,所有东西都是用PHP构建的 我需要在屏幕上找到一个隐藏的元素,该元素只在它被tab到时出现,框架无法通过名称或xpath/css找到它。。。有没有办法编写一个步骤定义来按tab键?我试过了,但没法用 谢谢 我在网上找到了这段代码,并认为它对我有用- /** * @Given I manually press tab */ public function manuallyPressTab() { $this->getS

我有一个用Behat构建的框架,测试一个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}));
");

我在FeatureContext中通过以下方法解决了这个问题,并使用Zombie.js作为测试运行器:

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

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

请提供您尝试过的selenium/behat代码您需要搜索将按tab键的jQuery脚本并进行尝试,其中一些脚本可能对某些脚本有效,而对某些脚本无效。如果团队中有UX开发人员,我相信他可以帮到您。您是否尝试过按键、按键或按键方法?在某些情况下可能有效,但这不是按tab键。你也有一个水貂模糊的方法。作为最佳实践,方法的名称应该描述方法的功能。