当前位置: 首页 > 知识库问答 >
问题:

在验收测试带有codeception和selenium的laravel应用程序时更改环境

后安民
2023-03-14

我试图写一些接受测试laravel4与代码欺骗和硒模块。

我有两个问题。

>

我的第二个问题是在测试时使用实际的实时数据库,因为laravel应用的环境没有设置为测试。显然,我想让它使用测试数据库,并在每次测试后重置它。

协同感知。亚马尔

actor: Tester
paths:
    tests: app/tests
    log: app/tests/_output
    data: app/tests/_data
    helpers: app/tests/_support
settings:
    bootstrap: _bootstrap.php
    colors: true
    memory_limit: 1024M
    suite_class: \PHPUnit_Framework_TestSuite
modules:
    config:
        Db:
            dsn: 'sqlite:app/tests/_data/testdb.sqlite'
            user: ''
            password: ''
            dump: app/tests/_data/dump.sql

接受亚马尔

class_name: AcceptanceTester
modules:
    enabled: [WebDriver,AcceptanceHelper]
    config:
        WebDriver:
            url: 'http://app.dev'
            browser: firefox
            window_size: 1920x1024
            wait: 10 

共有1个答案

芮叶秋
2023-03-14

在vm中运行验收测试的一个简单方法是在gh惹驱动模式下使用phantom js。这里有一个教程:

https://gist.github.com/antonioribeiro/96ce9675e5660c317bcc

当测试失败时,您仍然可以看到屏幕截图和呈现的html,因此看不到浏览器也没什么大不了的。

对于您的第二个问题,我更喜欢使用自己的数据库保持单独的测试安装。这样你在开发中所做的改变不会改变你的测试结果,这是一个更好的生产近似值。

如果要使用相同的安装,可以使用自动切换设置。环境文件。

http://laravel.com/docs/4.2/configuration#protecting-敏感配置

您的配置如下所示:

'host'     => $_ENV['DB_HOST'],
'database' => $_ENV['DB_NAME'],
'username' => $_ENV['DB_USERNAME'],
'password' => $_ENV['DB_PASSWORD'],

还有你的。环境。php看起来像:

return array( 'DB_HOST' => 'hostname', 'DB_NAME' => '' ..etc

然后,您可以使用robo之类的任务运行程序自动更新您的任务。env文件并运行codeception测试。

http://robo.li/

$this->replaceInFile('.env.php')
    ->from('production_db_name')
    ->to('test_db_name')
     ->run();

$this->taskCodecept()->suite('acceptance')->run();

. env文件在Laravel 5中正在更改,但此工作流仍然可以进行最少的修改

http://mattstauffer.co/blog/laravel-5.0-environment-detection-and-environment-variables

 类似资料:
  • 我正在写一个用角写的申请验收测试。我使用硒的代码欺骗测试框架。测试将一些文本写入输入字段并提交表单。它应该通过ajax api调用向数据库添加新任务,并添加新

  • 我正在使用phpStorm IDE以及composer和codeception在我的mac机器中编写selenium验收测试。但是我无法运行我的测试。 我开始我的硒独立罐和铬驱动器在我的mac机使用下面的命令。 java-Dwebdriver。铬。driver=“/Users/krishna/Downloads/chromedriverNewChrome”-jar selenium-server-

  • 我试图用codeception运行一些测试,当我尝试测试表单时,总是失败,我不知道为什么。和其他人一样,他们都通过了。测试代码如下: 当我用命令运行测试时/vendor/bin/run-vvv--html--debug我有以下日志: 接受。一套yml就是这个: 演员:验收员 模块: 什么是错的?我想要的是测试表格,看看下一页写的假期,为什么一些测试通过了,一个简单的表格没有?。你能帮我个忙吗?

  • 我在使用behave(python)自动化验收测试时,遇到了编写更改密码场景的测试的问题。 这是我在中的步骤

  • 当我运行Codeception测试时,有时在验收测试中,浏览器启动太晚,测试不会等待它启动,并且在浏览器启动之前通过的测试会出现错误: [连接异常]无法在http://127.0.0.1:4444/wd/hub.连接到网络驱动程序请确保Selenium服务器或PhantomJS正在运行。 #1 Codeception\Subscriber\Module- #2D:\path\Yii\basic\v

  • 查看股票测试用例 看股票页面显示一个公司列表。用于这个页面的测试用例非常简单,所以被包括在前一个测试用例的后面。该测试用例验证当前位置是否为 /main/list_stocks,以及页面是否包含文本 Click on a company name to view details。 查看股票细节用例 查看股票细节用例是在查看股票页面上触发的。用户在一个公司名称上单击鼠标时,就触发了到服务器的一个 A