2014-07-23 34 views
0

我正在寻找答案,我发现this question。所以我尝试执行我的脚本,如下所示:PHPUnit-Selenium - 如何执行javascript

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; 
};   
+1

好了,什么是完整的代码?如果是这样,它将不会运行,因为它需要在'$ this'的某种类中才有意义。 –

+0

当然。该脚本已添加。 – kristyna

回答

0

已经固定。

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

// function valid_viewer_submit(){ 

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

...它的工作原理。

0

包含的JavaScript中定义一个函数,而不是调用它...

你必须添加其他符合:

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