0

我必须自动化一个测试用例,在该测试用例中创建特定仪表板中的列表。我们决定使用 PhantomJS 无头浏览器。由于我是新手,我尝试自己创建测试。以下是我打开目标网站所遵循的步骤。

  1. 创建目录phantoms
  2. cd phantoms并使用命令安装幻像模块npm install phantom --save
  3. 创建文件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&#‌​39;, 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

我收到此错误

bash: phantomjs: command not found

注意:我使用cygwin执行命令

我怎么了?我也将 phantomjs 模块安装在与我的 node.js 相同的文件夹中。

除了使用无头浏览器之外,谁能告诉我,如何通过 REST API 调用在 Oracle responsys 中创建配置文件列表?

4

2 回答 2

1

虽然这里的第一个答案应该有效,但这并不是完成您需要的最佳方式。解决问题的更简洁的方法是将 phantomjs 可执行文件的位置添加到在 ~/.bash_history 等文件中定义的 PATH 变量中。

该文件可能没有定义,因此您可能需要创建该文件,然后添加 PATH="/path/to/phantomjs/executable"

如果您更喜欢通过 GUI编辑 PATH 变量:通过 Windows GUI 编辑 PATH 变量

您需要这样做的原因是,您的系统本机迭代“PATH”变量中定义的路径以确定可执行文件的位置。由于 phantomjs 不包含在 PATH 变量中(环境中不存在),并且您尝试运行“phantomjs”,您的系统根本不知道要调用哪个可执行文件(或者更确切地说,它不知道它存在)

这是更好的方法的原因是:

  1. 您不需要在每次要运行它时明确写出 phantomjs 所在的路径(它看起来也更干净)
  2. 如果您从多个文件中调用 phantomjs,并且 phantomjs 的存储位置发生变化,会发生什么情况?如果您在任何地方都明确输入了 phantomjs 的绝对路径,那么您需要更改您输入的每个地方!恶梦!使用这种方法,您只需在一个地方进行更改;定义 PATH 变量的文件
  3. 将新文件路径添加到 PATH 环境变量是非常常规的做法。你不应该把它弄乱,但在这种情况下添加它是有意义的

为此:“除了使用无头浏览器之外,任何人都可以告诉我,如何通过 REST API 调用在 Oracle responsys 中创建配置文件列表?”...我建议提出一个单独的问题。我个人不知道,但如果您提出新问题,您可能会得到这样做的人的支持。

希望这可以帮助!如果您需要任何帮助,请告诉我。

于 2016-11-21T21:44:23.690 回答
0

您混合了两种运行 PhantomJS 的方式。

更直接、更简单的方法是从命令行启动 PhantomJS 并将脚本路径作为参数提供给它。在 Windows 上,你会这样做:

"C:/Users/shilshet/New folder/phantom/phantomjs.exe" "C:/Users/shilshet/New folder/phantom/create_list.js"

注意这里的引号,它们是必需的,因为文件名中有空格。

于 2016-11-21T16:09:32.590 回答