gpt4 book ai didi

Selenium PHPUnit 在 ubuntu 命令行上传递变量

转载 作者:行者123 更新时间:2023-12-02 02:21:29 25 4
gpt4 key购买 nike

我正在尝试使用命令行将变量传递给 Selenium PHPUnit 脚本。查看 PHPUnit 帮助文档:

我们可以使用 XML 或 PHP 配置文件提供变量,但理想情况下我希望在不使用外部文件的情况下传递变量。我正在寻找这个的原因是因为我希望能够修改超时值而不必修改我的自定义 config.php 文件。

phpunit --help
PHPUnit 3.6.0 by Sebastian Bergmann.

Usage: phpunit [switches] UnitTest [UnitTest.php]
phpunit [switches] <directory>

--log-junit <file> Log test execution in JUnit XML format to file.
--log-tap <file> Log test execution in TAP format to file.
--log-json <file> Log test execution in JSON format.

--coverage-html <dir> Generate code coverage report in HTML format.
--coverage-clover <file> Write code coverage data in Clover XML format.
--coverage-php <file> Serialize PHP_CodeCoverage object to file.
--coverage-text <file> Generate code coverage report in text format.

--testdox-html <file> Write agile documentation in HTML format to file.
--testdox-text <file> Write agile documentation in Text format to file.

--filter <pattern> Filter which tests to run.
--group ... Only runs tests from the specified group(s).
--exclude-group ... Exclude tests from the specified group(s).
--list-groups List available test groups.

--loader <loader> TestSuiteLoader implementation to use.
--printer <printer> TestSuiteListener implementation to use.
--repeat <times> Runs the test(s) repeatedly.

--tap Report test execution progress in TAP format.
--testdox Report test execution progress in TestDox format.

--colors Use colors in output.
--stderr Write to STDERR instead of STDOUT.
--stop-on-error Stop execution upon first error.
--stop-on-failure Stop execution upon first error or failure.
--stop-on-skipped Stop execution upon first skipped test.
--stop-on-incomplete Stop execution upon first incomplete test.
--strict Run tests in strict mode.
-v|--verbose Output more verbose information.

--skeleton-class Generate Unit class for UnitTest in UnitTest.php.
--skeleton-test Generate UnitTest class for Unit in Unit.php.

--process-isolation Run each test in a separate PHP process.
--no-globals-backup Do not backup and restore $GLOBALS for each test.
--static-backup Backup and restore static attributes for each test.
--syntax-check Try to check source files for syntax errors.

--bootstrap <file> A "bootstrap" PHP file that is run before the tests.
-c|--configuration <file> Read configuration from XML file.
--no-configuration Ignore default configuration file (phpunit.xml).
--include-path <path(s)> Prepend PHP's include_path with given path(s).
-d key[=value] Sets a php.ini value.

-h|--help Prints this usage information.
--version Prints the version and exits.

--debug Output debugging information.

最佳答案

使用 -d 设置 PHP 的配置值之一并使用 ini_get() 读取它在您的 bootstrap.php 文件中。使用 define() 将其传递给您的测试。可以肯定的是,这是一种 hack,但它适用于您的超时情况。

作为测试,我使用 max_execution_time 作为传输点。如果你使用同样的东西,你会想要重置它,这样 PHPUnit 就不会在花费太长时间时被杀死。 ;)

// bootstrap.php

$timeout = ini_get('max_execution_time');
set_time_limit(0); // run forever

使用 -d 传递您想要的超时时间。

phpunit -d max_execution_time=5000

更新:我首先尝试使用一个编造的设置 my_test_timeout,但该值没有通过。 PHP 或 PHPUnit 必须是不在 INI 文件中或 PHP 根本不支持的阻塞值。鉴于 INI 文件可以具有 PHP 无法提前知道的特定于模块的值,我想知道您是否可以将自定义设置添加到 php.ini 以使其正常工作。值得一试以避免破坏原本有用的设置。此外,它可能允许您使用字符串和其他类型。

关于Selenium PHPUnit 在 ubuntu 命令行上传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8009027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com