我必须自动化一个测试用例,在该测试用例中创建特定仪表板中的列表。我们决定使用PhantomJS无头浏览器。由于我是新手,我尝试自己创建测试。以下是我打开目标网站时所遵循的步骤。
required=False
phantoms
并使用命令cd phantoms
npm install phantom --save
:createlist.js内容:
createlist.js
当我执行命令var phantom = require('phantom');
var page = require('webpage');
page.open('http://facebook.com', function(status) {
console.log("Status: " + status);
if(status === "success") {
page.render('example.png');
}
phantom.exit();
});
时,我收到以下错误:
node create_list.js
如果我尝试执行像
这样的命令page.open('interact2.responsys.net/interact/jsp/jindex.jsp', function(st atus) { ^ TypeError: page.open is not a function at Object.<anonymous> (C:\Users\shilshet\New folder\phantom\create_list.js:3 :6) at Module._compile (module.js:413:34)
我收到此错误
phantomjs C:/Users/shilshet/New folder/phantom/create_list.js
注意:我正在使用cygwin执行命令
我出错了什么?我也将phantomjs模块安装在与node.js相同的文件夹中。
除了使用无头浏览器之外,有没有人让我知道,如何通过REST API调用在Oracle Responsys中创建配置文件列表?
答案 0 :(得分:1)
虽然这里的第一个答案应该有效,但它并不是实现所需要的最佳方式。解决问题的更简洁方法是将phantomjs可执行文件的位置添加到文件中定义的PATH变量,例如〜/ .bash_history。
可能未定义文件,因此您可能需要创建该文件,然后将PATH =&#34; / path /添加到/ phantomjs / executable&#34;
如果您希望通过GUI编辑PATH var:Edit PATH variable via Windows GUI
您需要执行此操作的原因是,您的系统本身会迭代“路径”中定义的路径。变量以确定可执行文件的位置。 由于phantomjs未包含在PATH变量中(在环境中不存在),并且您尝试运行“幻像”,因此您的系统根本不知道要调用哪个可执行文件(或者它不会#39 ;知道它存在)
这是更好的方法的原因是:
为此:&#34;除了使用无头浏览器之外,有没有人让我知道,如何通过REST API调用在Oracle Responsys中创建配置文件列表?&#34; ...我建议问一个单独的问题。我个人不知道,但如果你提出新问题,你可能会得到一个人的支持。
希望这有帮助!如果您需要任何帮助,请告诉我。
答案 1 :(得分:0)
你混淆了两种运行PhantomJS的方式。
更直接,更简单的方法是从命令行启动PhantomJS并将脚本路径作为参数。在Windows上你可以这样做:
"C:/Users/shilshet/New folder/phantom/phantomjs.exe" "C:/Users/shilshet/New folder/phantom/create_list.js"
请注意这里的引号,因为文件名中有空格,所以需要它们。