selenium - Protractor 比较 2 个字符串数组

标签 selenium testing jasmine protractor frontend

我正在使用 Protractor 框架。

问题是我有 2 个数组:

var a= [ 'Mon. Dec 10, 2018',
  'Mon. Feb 11, 2019',
  'Tue. Feb 12, 2019',
  'Tue. Aug 13, 2019' ]

var b= [ 'MON. DEC 10', 'MON. FEB 11', 'TUE. FEB 12', 'TUE. AUG 13' ]

我想像这样处理那些数组:

expect(a(index)).toContain(b(index))

检查第一个数组 'Mon. Dec 10, 2018' 包含第二个数组 'MON. DEC 10' 等等。

我的代码:

headerText.getText().then(function (header) {
                dateTabs.getText().then(function (tab) {

                    h = header.toString().toUpperCase();
                    t = tab.toString();

                    console.log(header, '====', tab);
                    expect(h).toEqual(jasmine.arrayContaining(t));

                });
            });

最佳答案

var a= [ 'Mon. Dec 10, 2018',
  'Mon. Feb 11, 2019',
  'Tue. Feb 12, 2019',
  'Tue. Aug 13, 2019' ]

var b= [ 'MON. DEC 10', 'MON. FEB 11', 'TUE. FEB 12', 'TUE. AUG 13' ]

// Create new array from array a[]
data: string[] =[];
for(i=0;i<a.length;i++){
data[i]=a[i].split(',').shift();  // spliting 'data[]=['Mon. Dec 10']'
}

// Validation

expect(data).equals(b);  // To compare the values

希望对你有帮助

关于selenium - Protractor 比较 2 个字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54944079/

相关文章:

android - 使用 Appium 通过一个 Android Activity 测试多个 fragment

Angular 测试 - 模拟 InjectionToken

angularjs-directive - Jasmine 测试中角度元素的调度事件不起作用

javascript - 无法将 elementIsNotVisible 与 selenium webdriver 用于 javascript

python - ActionChains 中的 perform() 和 reset_actions() 不起作用 selenium python

java - Chrome 用 selenium 打开 "Data;"地址

selenium - 使用 RobotFramework 测试复制/粘贴

testing - 您如何针对 Iñtërnâtiônàlizætiøn 测试您的应用程序? (国际化?)

php - Laravel 测试 - 迁移/刷新错误的环境

javascript - 使用 Jasmine 测试 Angular.js Controller 而不模拟工厂