PHPUnit-Selenium - 如何执行javascript

时间:2014-07-23 22:59:27

标签: javascript selenium phpunit

我正在寻找答案,我找到了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;
};        

2 个答案:

答案 0 :(得分:1)

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

您必须添加另一行:

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

答案 1 :(得分:0)

已经修好。

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

// function valid_viewer_submit(){

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

......它有效。