标签: codeception

如何设置Bamboo以使用代码?

我一直试图让Bamboo使用代码测试.我正在使用codeception来测试symfony项目中的代码.

经过一些研究,我发现了一篇关于如何使用代码设置Jenkins的文章.

一旦阅读,我发现我应该使用Ant来运行运行测试的代码命令.

问题是我真的不知道放在哪里.本文解释了新Ant任务的所有字段,但似乎没有任何效果.

有人可以帮帮我吗?

ant bamboo codeception

9
推荐指数
1
解决办法
2329
查看次数

Yii 2迁移测试数据库

我没有看到明确的方法来做到这一点,虽然我可以看到它在文档中被重复多次,具体来说:

使用yii migrate工具将测试数据库升级到最新版本;

发现于http://www.yiiframework.com/doc-2.0/guide-test-fixture.html#summary(仅举例)

会发生什么,无论我如何配置_console.php_config.php在我的tests/unit文件夹中,如果我运行迁移工具正在拿起主app db:

$ cd tests/unit
$ ../../yii migrate/up
Yii Migration Tool (based on Yii v2.0.0-dev)

No new migration found. Your system is up-to-date.
Run Code Online (Sandbox Code Playgroud)

是的,测试数据库已正确配置(运行测试将抛出错误,表示没有表).我显然可以自己创建数据库结构,但这都是为了让这个功能正常工作.

我目前正在使用通过composer安装的Basic应用程序.

php testing yii2 codeception

9
推荐指数
2
解决办法
8932
查看次数

Codeception codecoverage痛苦地缓慢

我正在使用codeception(使用codecoverage)来检查我使用Yii2框架编写的应用程序的代码覆盖率.因为我的mac上的标准php安装没有启用xcode,所以我激活了它,在我的php.ini中添加了一个zend_module行.代码覆盖现在似乎有效,但速度很慢.是的我知道激活的xdebug和coverage生成需要一些时间,但我认为这是不正常的:即使只检查对象初始化的简单单元测试也需要15分钟.

我认为它不是cpu或ram问题而不是配置问题.

我开始代码覆盖:

codeception run unit --coverage-html
Run Code Online (Sandbox Code Playgroud)

我发现的事情:无论它有多大,第一次测试总是快速运行.第二个测试要慢得多(无论测试是什么),第三个测试更慢.我该如何追踪?我想发现问题.

再说一遍:我知道codecoverage会减慢测试速度,但是15分钟的简单测试并不正常.

//编辑:大约运行的测试 15分钟,需要1秒而不启用代码覆盖.

php code-coverage xdebug yii2 codeception

9
推荐指数
1
解决办法
873
查看次数

alpine linux 输出错误“base64: unrecognized option: w”

codecept -c src run acceptance在alpine linux上执行命令时输出如下错误:

无 base64:无法识别的选项:w BusyBox v1.30.1 (2019-06-12 17:51:55 UTC) 多调用二进制。

用法:base64 [-d] [文件]

Base64 编码或解码 FILE 到标准输出 -d 解码数据

我看不到 codecept 正在执行的命令。

我试图在 apk 中添加 base64,但 base64 不存在。

Dockerfile:

FROM node:10-alpine AS node
FROM php:7.1-fpm-alpine

ENV GITHUB_OAUTH_TOKEN test
ENV COMPOSER_ASSET_VERSION 1.3.1
ENV DOCKERIZE_VERSION v0.6.1
ENV PATH=~/.composer/vendor/bin:$PATH

# install packages
RUN apk add -U --no-cache \
        curl-dev \
        libxml2-dev \
        libpng-dev \
        libjpeg-turbo-dev \
        zip \
        libzip-dev \
        unzip \
        gmp-dev \
        python \
        make \ …
Run Code Online (Sandbox Code Playgroud)

php docker codeception alpine-linux

9
推荐指数
1
解决办法
6562
查看次数

如何从命令行将环境变量传递给 Codeception YML 文件?

我总是在 Codeception YML 文件中看到这种事情:

modules:
    enabled:
        - PhpBrowser:
            url: '%URL%'
Run Code Online (Sandbox Code Playgroud)

如何从命令行将“URL”传递给 Codeception?或者任何其他方式!

codeception

9
推荐指数
1
解决办法
8465
查看次数

Codeception - 验收测试工作但功能测试没有

我在WAMP平台上运行最新版本的Codeception - 我的接受是非常基本的,但工作正常(见下文):

$I = new WebGuy($scenario);
$I->wantTo('Log in to the website');
$I->amOnPage('/auth/login');
$I->fillField('identity','admin@admin.com');
$I->fillField('password','password');
$I->click('Login');
Run Code Online (Sandbox Code Playgroud)

简而言之 - 它检查页面是'auth/login'填写2个表单字段并单击登录按钮.这没有任何问题.

这是我相同的功能测试:

$I = new TestGuy($scenario);
$I->wantTo('perform actions and see result');
$I->amOnPage('/auth/login');
$I->fillField('identity','admin@admin.com');
$I->fillField('password','password');
$I->click('Login');
Run Code Online (Sandbox Code Playgroud)

当我从命令行运行它时,我得到以下错误(不是完整的错误,但足以理解问题):

1) Couldn't <-[35;1mperform actions and see result<-
[0m in <-[37;1LoginCept.php<-[0m <-41;37mRuntimeException: 
Call to undefined method TestGuy::amOnPage<-[0m.......
Run Code Online (Sandbox Code Playgroud)

我的验收套件启用了"PhpBrowser"和"WebHelper"模块,功能套件启用了"FileSystem"和"TestHelper"(在acceptance.suite.yml和functional.suite.yml文件中)

显然amOnPage()函数是问题 - 然而我被引导相信amOnPage()应该在验收和功能测试中工作?或者我错了 - 也 - 有人可以解释数字的含义,例如'< - [35; 1m'出现

更新:我尝试将'WebHelper'模块添加到functional.suite.yml但我没有看到在TestGuy.php文件中自动生成amOnPage() - 任何想法?

我的配置文件如下:

WebGuy

class_name: WebGuy
modules:
enabled:
    - PhpBrowser
    - WebHelper
config:
    PhpBrowser:
        url: 'http://v3.localhost/'
Run Code Online (Sandbox Code Playgroud)

TestGuy

class_name: …
Run Code Online (Sandbox Code Playgroud)

command-line unit-testing acceptance-testing functional-testing codeception

8
推荐指数
1
解决办法
7700
查看次数

如何将鼠标悬停在具有Codeception的元素上?

希望有人可以帮助/指出我的答案....

我正在使用Codeception来测试我们的网站.一切都很好,除了我找不到悬停在菜单元素上以显示菜单其余部分的方法.

使用watir和webdriver我能够使用

browser.div(:类 - > "菜单项目-1")悬停

我找到了 moveMouseOver,但它似乎没有用.我试过了

moveMouseOver('//div/div/div/div/ul/li[2]/a')
Run Code Online (Sandbox Code Playgroud)

moveMouseOver(".菜单项-1' )

php mouse unit-testing hover codeception

8
推荐指数
1
解决办法
4096
查看次数

有没有办法控制Codeception中的测试顺序?

经过多年编写单元测试后,我才开始使用CodeceptionPHPUnit.有一件事让我烦恼,我无法找到一种方法来控制调用测试的顺序.

在纯旧的PHPUnit我手动构建测试结构,如下所示:

$suite = new PHPUnit_Framework_TestSuite();
$suite->addTest('MyFirstTest');
$suite->addTest('MySecondTest');
Run Code Online (Sandbox Code Playgroud)

并且将按照它们添加到套件中的顺序调用测试.Codeception另一方面,似乎是在遍历目录并运行它可以找到的每个测试.

我希望能够在两个级别上控制测试的顺序:

  1. 在不同类型的测试被调用的顺序(即我想运行unit tests之前acceptance tests)
  2. 我想控制在特定测试类型中调用的测试顺序(与PHPUnit构建套件类似)

广告.2:假设我在acceptance目录中有两个测试:

AbcCept.php
WebGuy.php
XyzCept.php
Run Code Online (Sandbox Code Playgroud)

我希望能够运行XyzCept.php之前AbcCept.php.这甚至可能吗?

并且预测挑剔的评论:是的,我知道测试应该能够以任何顺序运行,而不是彼此依赖,但这不是我要求的.

php phpunit codeception

8
推荐指数
1
解决办法
2871
查看次数

用于记录在UI自动化测试的浏览器中完成的任务的选项

是否有一个工具可以记录用户与DOM元素的交互,以便在创建自动化测试时使用(我使用的是CodeceptionLaravel Dusk,但任何在Selenium中扎根的工具都很好).我正在寻找记录序列的东西并找回可能包含以下内容的列表:

  • 浏览器导航到 /contact
  • 焦点输入"#name"
  • 在输入中输入文本"Joe" #name
  • 专注textarea textarea[name=message]
  • 在textarea中输入文本"Hello world" textarea[name=message]
  • 单击元素 input[type=submit]
  • 浏览器导航到 /contact?thanks

我看到GhostInspector,但它直接绑定到一个基于云的公司,我不希望这样,我想对插件的功能有一定程度的控制,并且能够记录不在公共网络上的页面.

我可以看到构建一个记录每个动作非常重要的工具 - 鼠标移动事件,焦点,文本选择,键盘事件,滚动事件等.理想情况下,我可以说"在输入上听取每个焦点,点击和键盘事件或者textarea或按钮或选择或选项"并注意网址更改.

这样的工具存在吗?无论它真正运行什么浏览器堆栈,只需要用户(可能是新手用户)的能力,去网站,点击记录,做一些动作,并找回发生的事情列表.


争论我的问题的瞬间downvotes"不是关于编程"促使我改进我的问题.我不认为该工具的性质 - 它可能是编程方法?使用浏览器监听所有事件并以某种方式记录它们的方法?可能是Chrome扩展程序?可能是一个框架?可能是图书馆吗?我正在寻找程序员的经验来帮助我完成我正在努力完成的编程任务.

selenium automated-tests codeception laravel-dusk

8
推荐指数
1
解决办法
888
查看次数

PHP 启动:运行单元测试时无法加载动态库

当我尝试运行单元测试时,出现此错误

PHP警告:PHP启动:无法加载动态库'bz2'(试过:\xampp\php\ext\bz2(找不到指定的模块。),\xampp\php\ext\php_bz2.dll(指定的模块无法找到。)) 在 Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: \xampp\php\ext\curl (The specified module could not be found.), \xampp \php\ext\php_curl.dll (The specified module could not be found.)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'fileinfo' (tried: \xampp\php\ext\fileinfo (找不到指定的模块。), \xampp\php\ext\php_fileinfo.dll (The specified module could not be found.)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'gd2' (试过:\xampp\php\ext\gd2 (The specified module …

php xampp phpunit unit-testing codeception

8
推荐指数
2
解决办法
1万
查看次数