以Angular形式遍历字段并使用量角器测试输入验证?

Lensvelt

我是一个初学者,正在尝试以Angular形式遍历所有字段,并使用量角器测试输入验证是否有效。到目前为止,我失败了。我的伪代码如下:

//PSEUDO CODE FOR TEST PROCESS:
//------------------------------
// 1.For each field requiring validation
// 2.Reset test environment
// 3.Populate field with dummy data
// 4.Get result
// 5.Evaluate result versus expectation for test type
// 6.Pass test description & test result (true/false) to Protractor to print to command line

我写的代码如下。这不是很好,而且我甚至不确定在不为每个字段的每个验证测试指定单独测试的情况下是否可以实现我的目标。我做错了什么/正确的方法是什么?

describe('Sample form', function() {

// Fields subject to input validation
  var userName          = element(by.model('user.name'));           // required field
  var userSurname       = element(by.model('user.surname'));        // required field
  var userId            = element(by.model('user.id'));             // required field

// Test population
  var fieldsRequired    = [userName, userSurname, userId];          // fields to be tested

// helper function to check class of a specified element --> ng-valid / ng-invalid etc.
  var hasClass = function (element, cls) {
    return element.getAttribute('class').then(function (classes) {
      return classes.split(' ').indexOf(cls) !== -1;
    });
  };

// The testing function
  function testRequired(fieldsRequired) {
    //1. loop through each field
      for (var i = 0; i < fieldsRequired.length; i++) {

      //2. Reset page  prior to each test
        browser.get('http://sometestlink.html');      

      //3. Populate field with dummy data
        fieldsRequired[i].sendkeys();  

      //4,5 & 6. Protractor test
        it('should fail validation when ' + fieldsRequired[i] + ' is missing', expect(hasClass(fieldsRequired[i],'ng-valid')).toEqual(false));
      }
  }
});
芬斯平

您的代码中存在一些问题:

  1. 您的it块将永远不会被执行,因为您没有调用该testRequired函数
  2. sendkeys()应该为sendKeys(),并且您没有发送任何文本,为空

您可以尝试实现您所描述的内容:

describe('Sample form', function() {

    // helper function to check class of a specified element --> ng-valid / ng-invalid etc.
    var hasClass = function (element, cls) {
        return element.getAttribute('class').then(function (classes) {
            return classes.split(' ').indexOf(cls) !== -1;
        });
    };

    var fields = {
        'userName': element(by.model('user.name')),
        'userSurname': element(by.model('user.surname')),
        'userId': element(by.model('user.id'))
    };

    for(var field in fields) {
        (function(field) {                
            it('should fail validation when ' + field + ' is missing', function () {
                browser.get('http://sometestlink.html');
                fields[field].sendKeys('dummy_data');
                expect(hasClass(fields[field], 'ng-valid')).toEqual(false);
            });
        })(field);
    };
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用量角器和Azure AD进行身份验证登录测试

来自分类Dev

使用量角器测试无限滚动

来自分类Dev

如何使用量角器测试班级的存在

来自分类Dev

使用量角器测试链接颜色

来自分类Dev

使用量角器进行滑块测试

来自分类Dev

如何使用量角器测试angularjs应用

来自分类Dev

CKEditor +量角器:使用量角器进行测试无法找到CKEditor实例

来自分类Dev

替代在Angular站点上使用量角器

来自分类Dev

如何使用量角器模拟Angular服务?

来自分类Dev

使用量角器“期望”

来自分类Dev

无法遍历比较文本值的数组,使用量角器未定义结果

来自分类Dev

无法使用量角器测试运行器加载应用

来自分类Dev

使用量角器进行端到端测试时使用数据对象

来自分类Dev

如何使用量角器处理基本身份验证?

来自分类Dev

如何使用量角器测试检查元素是否可单击

来自分类Dev

使用量角器测试加载文本

来自分类Dev

使用量角器运行测试时调用其他API

来自分类Dev

使用量角器在sendKeys e2e测试中传递变量

来自分类Dev

使用量角器测试非AngularJS页面上的登录

来自分类Dev

如何使用量角器的dropzone.js测试上传文件?

来自分类Dev

如何使用量角器创建条件测试用例?

来自分类Dev

如何使用量角器测试字符串是否不匹配

来自分类Dev

在非角度页面上使用量角器测试登录

来自分类Dev

使用量角器测试AngularJS应用时禁用动画

来自分类Dev

如何使用量角器测试角度多选下拉菜单?

来自分类Dev

如何使用量角器测试即时消息传递应用程序

来自分类Dev

如何使用量角器js测试非角度站点?

来自分类Dev

使用量角器时如何运行单个特定的测试用例

来自分类Dev

使用量角器进行e2e测试时记录xhr请求

Related 相关文章

  1. 1

    使用量角器和Azure AD进行身份验证登录测试

  2. 2

    使用量角器测试无限滚动

  3. 3

    如何使用量角器测试班级的存在

  4. 4

    使用量角器测试链接颜色

  5. 5

    使用量角器进行滑块测试

  6. 6

    如何使用量角器测试angularjs应用

  7. 7

    CKEditor +量角器:使用量角器进行测试无法找到CKEditor实例

  8. 8

    替代在Angular站点上使用量角器

  9. 9

    如何使用量角器模拟Angular服务?

  10. 10

    使用量角器“期望”

  11. 11

    无法遍历比较文本值的数组,使用量角器未定义结果

  12. 12

    无法使用量角器测试运行器加载应用

  13. 13

    使用量角器进行端到端测试时使用数据对象

  14. 14

    如何使用量角器处理基本身份验证?

  15. 15

    如何使用量角器测试检查元素是否可单击

  16. 16

    使用量角器测试加载文本

  17. 17

    使用量角器运行测试时调用其他API

  18. 18

    使用量角器在sendKeys e2e测试中传递变量

  19. 19

    使用量角器测试非AngularJS页面上的登录

  20. 20

    如何使用量角器的dropzone.js测试上传文件?

  21. 21

    如何使用量角器创建条件测试用例?

  22. 22

    如何使用量角器测试字符串是否不匹配

  23. 23

    在非角度页面上使用量角器测试登录

  24. 24

    使用量角器测试AngularJS应用时禁用动画

  25. 25

    如何使用量角器测试角度多选下拉菜单?

  26. 26

    如何使用量角器测试即时消息传递应用程序

  27. 27

    如何使用量角器js测试非角度站点?

  28. 28

    使用量角器时如何运行单个特定的测试用例

  29. 29

    使用量角器进行e2e测试时记录xhr请求

热门标签

归档