Nightwatch JS:Browser.execute不执行javascript

时间:2018-07-28 22:55:15

标签: javascript nightwatch.js

我的测试目标是检查文本字段输入是否为空

当我在Nightwatch中使用browser.execute()命令时,我想添加一些简单的javascript来检查文本字段是否为空,那么Nightwatch将跳过该块。如果我可以在开发工具中运行JS代码,则可以运行,但是当我将其转换为Nightwatch时,它将失败。我可能会误解browser.execute的概念,所以我希望有人可以告诉我我在做什么错。

谢谢。

Nightwatch code

this.api.execute(
       function() {
        let element = document.getElementById('autocomplete-input').value;
        console.log(element);
             if(element.length == 0 || element === ""){
             console.log('Element is empty')
            }
          })
        },


JS code

     function testing1() {
       let element = document.getElementById('autocomplete-input').value;
       console.log(element);
          if(element.length == 0 && element === ""){
          console.log('Element is empty')
    }
}

1 个答案:

答案 0 :(得分:2)

如果您在Nightwatch Docs中查找.execute(),则它需要一个主体,一个将传递给该函数的参数数组和一个可选的回调函数。既然身体已经有了,那么添加一个空数组就可以了。

browser.execute(function testing1() {
           let element = document.getElementById('autocomplete-input').value;
           console.log(element);
              if(element.length == 0 && element === ""){
              console.log('Element is empty')
        }
    }, [])