Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问PHPUnit_Extensions_SeleniumTestCase中的存储值_Selenium_Phpunit_Selenium Rc - Fatal编程技术网

如何访问PHPUnit_Extensions_SeleniumTestCase中的存储值

如何访问PHPUnit_Extensions_SeleniumTestCase中的存储值,selenium,phpunit,selenium-rc,Selenium,Phpunit,Selenium Rc,如何在Selenium RC中存储一个值(通过PHPUnit),然后在以后使用PHPUnit检索/访问它 假设我在测试中运行如下命令: $this->storeExpression( "foo", "bar" ); 如果我正确理解Selenium API文档,我可以使用javascript{storedVars['foo']}使用良好的'ol'语言访问这些数据。它应该包含值“bar” 我的问题是:如何访问PHPUnit中的javascript{storedVars['test']}表达式

如何在Selenium RC中存储一个值(通过PHPUnit),然后在以后使用PHPUnit检索/访问它

假设我在测试中运行如下命令:

$this->storeExpression( "foo", "bar" );
如果我正确理解Selenium API文档,我可以使用
javascript{storedVars['foo']}
使用良好的'ol'语言访问这些数据。它应该包含值
“bar”

我的问题是:如何访问PHPUnit中的
javascript{storedVars['test']}
表达式(或者更一般地说,
javascript{storedVars}

例如,我运行了一个简单的测试:

public function testStorage()
{
    $this->open('http://www.google.com/'); // for example
    $this->storeExpression( 'foo', 'bar' );
    $foo = $this->getExpression('foo');
    echo $foo;
}
它的输出是“foo”(在其他标准PHPUnit输出中),而我希望它应该是“bar”。它只是返回表达式的名称,而不是它的值


有这方面经验的人能给我一些指导吗?

PHPUnit Selenium测试用例驱动程序实际上理解
storeExpression
getExpression
;看看它的源代码。你可以

$this->storeExpression('foo', 'bar');


由于Selenium将表达式结果存储在第二个参数中,所以它将值存储在“bar”中,当您需要调用它时,您应该调用存储的名称以获取表达式

    $this->storeExpression( 'foo', 'bar' );
    $foo = $this->getExpression("bar");
希望这对你有帮助,它对我有用

编辑:

    $evaluated = $this->getEval("regex:3+3");
    $expressed = $this->getExpression("regex:3+3");
第一个求值表达式将给出表达式的求值输出 第二个将显示表示的输出。
secound用于验证警报是否生成了指定的表达式。

此线程中的帖子很好,但到目前为止似乎没有100%的有效答案

基于这里的硒参考

正确的代码语法应该是:

$this->storeExpression( 'bar', 'foo' );
$foo = $this->getExpression("\${foo}");
我还没有完全测试过,但我也做过类似的测试

$this->storeHtmlSource('srcTxt');
$val = $this->getExpression('\${srcTxt}');
print $val;

为我做了这个把戏。

也许我做错了什么。代码片段对注释来说太多了,所以我更新了我的问题。这根本不起作用。
$foo=$This->getExpression('foo');
只是将
$foo
设置为
“foo”
。我还需要做些什么吗?当我运行这个时,
$foo=$this->getExpression('bar');
只是将
$foo
设置为等于
“bar”
。事实上,
$foo=$this->getExpression(“这是一个测试”);
$foo
设置为
“这是一个测试”
。我不知道我做错了什么。这个代码片段真的对你有用吗?根据你对表达式求值的要求,答案已经更新。请看它是否有用这正是我所期望的。很抱歉你没有早点回答,我在几周前就得到了+50的赏金!
$this->storeHtmlSource('srcTxt');
$val = $this->getExpression('\${srcTxt}');
print $val;