【发布时间】:2017-07-26 20:24:16
【问题描述】:
我是 Codeception 的新手,并尝试设置一个非常基本的验收测试。我正在使用 PhantomJS 运行它。
我试图只检测页面上的一些文本,但由于某种原因,它永远不会通过。我的 index.html 文件是:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
还有我的测试文件 HelloCept。 php是:
<?php
$I = new AcceptanceTester($scenario);
$I->amOnPage('index.html');
$I->see('Hello World');
$I->amOnPage 确实通过了。另外,如果我尝试 $I->am('user'),也可以通过 - 问题似乎只是检测页面上的实际元素!
如果有帮助,我的acceptance.suite.yml 文件是:
actor: AcceptanceTester
modules:
enabled:
- WebDriver:
url: 'http://localhost:4444/'
browser: phantomjs
在我的浏览器中,我运行:
http://127.0.0.1:4444/index.html
我在 GitHub 页面上看到人们有类似的问题,但似乎问题已经解决了。但是,我就是无法通过这个简单的测试。任何帮助将不胜感激!
【问题讨论】:
-
试试“/index.html”?
-
它仍然失败。如果我摆脱 $I->see('Hello World');并且只需 $I->amOnPage('index.html'); 就可以了,所以我认为这不是页面的问题。
-
我也遇到了这个问题。几个月前我有一些测试运行良好,但现在它们在“See”测试中都失败了。
-
似乎正在发生的事情是您没有连接到该页面。换句话说,Phantom 正在运行,但您的 Web 服务器无法正常提供服务。尝试:打开浏览器并转到“index.html”和“localhost:4444/index.html”和“/”,然后将“http://”添加到每个并报告。您使用的是哪种服务器 [OS 等]。你能在浏览器中看到页面吗?将 YML 更改为“'localhost'。在运行测试时添加 --html 标志并查看其内容。设置 -vvv 并查看其内容。这是您的配置中的内容。
标签: php codeception acceptance-testing