Cha*_*i05 20 javascript perl unit-testing selenium-webdriver internet-explorer-11
我正在使用该Selenium::Remote::Driver模块对不同的浏览器进行一些测试.
我想检查一下我的网站列表中是否有一些项目,从框架JavaScript(创建网格)列表.对于这种情况,我必须使用允许的JavaScript代码段Selenium::Remote::Driver.
我写了以下代码
$script = q{
var paramProgramName = arguments[0];
var list = $('#c-list').dxList('instance');
var items = list.option('items');
var index = items.findIndex(function(el){ return el.name == paramProgramName; });
list.selectItem(index);
return ;
};
$driver->execute_script($script, $programName);
Run Code Online (Sandbox Code Playgroud)
它适用于Chrome和Firefox,但不适用于Internet Explorer,因为该findIndex方法仅受版本12及更高版本支持.出于某种原因,我必须使用版本11.
为了从每个浏览器获取索引,我可以做些什么?
T.J*_*der 62
所以我的问题是我如何以不同的方式获取每个浏览器的索引?
您至少有三个选择:
Shim Array#findIndex; MDN有一个可以使用的垫片/填充物.
使用IE11具有的其他东西,例如Array#some(甚至IE9都有):
var index = -1;
items.some(function(el, i) {
if (el.name == paramProgramName) {
index = i;
return true;
}
});
Run Code Online (Sandbox Code Playgroud)使用IE8所具有的其他东西,例如for:
var index = -1;
for (var i = 0; i < items.length; ++i) {
if (items[i].name == paramProgramName) {
index = i;
break;
}
}
Run Code Online (Sandbox Code Playgroud)