我是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
DOES通过。此外,如果我尝试$ I-&gt; am(&#39;用户&#39;),那也会通过 - 问题似乎就是检测页面上的实际元素!
如果有帮助,我的acceptance.suite.yml文件是:
actor: AcceptanceTester
modules:
enabled:
- WebDriver:
url: 'http://localhost:4444/'
browser: phantomjs
在我的浏览器中,我运行:
http://127.0.0.1:4444/index.html
我在GitHub页面上看到人们有类似的问题,但好像问题已经解决了。但是,我无法通过这个简单的测试。任何帮助将不胜感激!!
答案 0 :(得分:0)
我认为你需要在元素中添加一个id并检查你是否看到了。但不确定:)
答案 1 :(得分:0)
我也遇到过这个问题。几个月前我有一些测试工作正常,现在他们都没有参加“See”测试。
我发现了一些可能有用的东西:
1)我在我的HTML编译器中添加了一个缩小步骤以删除不必要的空格,这似乎打破了codeception解析页面的能力。因此,如果您的HTML被缩小,请尝试在未经管理的版本上进行测试。
2)尝试按照http://codeception.com/docs/07-AdvancedUsage中的描述将测试包装在一个类中。这似乎对我有用。
<?php
class FirstCest
{
public function frontpageWorks(AcceptanceTester $I)
{
$I->amOnPage('index.html');
$I->see('Hello World');
}
}