【问题标题】:PHPUnit-Selenium - How to execute javascriptPHPUnit-Selenium - 如何执行 javascript
【发布时间】:2016-12-07 19:24:46
【问题描述】:

我一直在寻找答案,我找到了this question。所以我尝试像这样执行我的脚本:

class viewerTest extends LoginLoader{    
public function testNewViewer(){
    $this->url('new-viewer.php');
    $this->byName('viewers_streetname')->value('street');    
    $script = file_get_contents("./viewerScript.js");
    $this->execute(array(
        'script' => $script,
        'args'   => array()
    ));
 }}

很遗憾,这不起作用。它应该检查是否填写了强制性输入,然后写下尚未填写的输入名称。但是没有列出输入的名称。

我做错了吗?

PS:函数 file_get_contents() 正在工作。

这里是 viewerScript.js:

function valid_viewer_submit(){

    var datastring = $("#edit-viewer").serialize();
    ...
    ...
    ...    
    error_div.innerHTML = error;
};        

【问题讨论】:

  • 好的,那么完整的代码是什么?如果是这样,它就不会运行,因为它需要在某种类中才能使$this 有意义。
  • 当然。脚本已添加。

标签: javascript selenium phpunit


【解决方案1】:

包含的 javascript 定义了一个函数,但没有调用它...

您必须添加另一行:

$this->execute(array(
    'script' => 'valid_viewer_submit();',
    'args'   => array()
));

【讨论】:

    【解决方案2】:

    已经修复了。

    我不知道为什么,但是当我像这样更改 javascript 时...:

    // function valid_viewer_submit(){
    
          var datastring = $("#edit-viewer").serialize();
          ...
          ...
          ...    
          error_div.innerHTML = error;
    // }; 
    

    ...它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      • 1970-01-01
      相关资源
      最近更新 更多