我正在使用Selenium2TestCaseTest,可以找到here 我试图获取jquery滑块的值,在搜索之后我发现this解决方案
$this->execute(
array(
'script' => "$('#Slider_id').slider('option', 'value', 505);",
'args' => array()
)
);
但它只允许我更改滑块的值,然后我尝试使用这些命令获取它的值:
$this->execute(
array(
'script' => "$('#Slider_id').slider('option', 'value');",
'args' => array()
)
);
和此:
$this->execute(
array(
'script' => "$('#Slider_id').slider('value');",
'args' => array()
)
);
并且它不返回任何内容(NULL),有人可以帮我这个吗?
答案 0 :(得分:2)
为了获得您使用selenium注入浏览器的代码返回的值,您需要在运行的代码之前添加return
。
这与您使用selenium运行的每个javascript代码相关,而不是专门用于jQuery ui滑块。
$val = $this->execute([
'script' => "return $('#Slider_id').slider('option', 'value');"
'args' => []
]);
更简单的例子:
$val1 = $this->execute([
'script' => "return 1;"
'args' => []
]);
$val2 = $this->execute([
'script' => "return Math.max(10, 15);"
'args' => []
]);
$val3 = $this->execute([
'script' => "return function(){return 2}();"
'args' => []
]);