QUnit使用笔记-3测试用户操作

模拟操作:

  • elem.trigger(event);
  • elem.triggerHandler(event);
    • triggerHandler的不同:

      • 不会引起事件的默认行为
      • .trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素。
      • 由 .triggerHandler() 创建的事件不会在 DOM 树中冒泡。
      • 该方法的返回的是事件处理函数的返回值,而不是 jQuery 对象。
  • $.Event(event); 如果事件需要依赖特定的操作其他操作,则要使用Event,并设置属性:
    event = $.Event("keydown");  //keydown event;
    event.keyCode = 9;
    $doc.trigger(event);//can use triggerHandler() insteadof trigger;

  例子:

function keyLogger(target) {
    if(!(this instanceof keyLogger)) {
        return new keyLogger(target);
    };
    this.target = target;
    this.log = [];
    var self = this;
    this.target.off("keydown").on("keydown", function(event) {
        self.log.push(event.keyCode);
    });
}

QUnit.test("keylogger api behavior", function(assert) {
    var event,
        $doc = $(document),
        keys = keyLogger($doc);

    //trigger event
    event = $.Event("keydown");  //keydown event;
    event.keyCode = 9;
    $doc.trigger(event);//can use triggerHandler() insteadof trigger;

    //verify expected behavior
    assert.equal(keys.log.length,1,"a key was logged");
    assert.equal(keys.log[0],9,"correct key was logged");
});

  

时间: 2024-10-08 19:08:07

QUnit使用笔记-3测试用户操作的相关文章

权限管理禁止用户su - root并记录用户操作记录实验!

本文目的:整理在实验环境中配置的禁止普通用户用su - root来获取root权限的操作记录.实验还添加了history添加用户详细记录,并配置了使用script记录用户操作,和测试用户操作还原的过程. 一.修改禁止su - root权限的配置:1.修改PAM配置文件:#vi /etc/pam.d/su#%PAM-1.0auth            sufficient      pam_rootok.so# Uncomment the following line to implicitly

mysql颠覆实战笔记(三)-- 用户登录(二):保存用户操作日志的方法

版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸老师署名以及课程来源地址. 现在我们接着上节课,完成第二个功能,不管成功不成功都记录一个日志. 一.回顾上节课内容,我们在user_log表中添加一个字段 user_id.  在上一节课的存储过程新增一行代码,如下: BEGIN set @gid=0; set @user_name=''; set @_res

Java基础知识强化之集合框架笔记37:用户登录注册案例

1. 登录注册案例分析图解: 2. 用户登录案例 详细分析 和 分包实现: (1)用户登录案例详细分析(面向对象思想) 按照如下的操作,可以让我们更符合面向对象思想: • 有哪些类呢?                 用户类                 测试类       • 每个类有哪些东西呢?                 用户类: 成员变量:用户名,密码                            构造方法:无参构造                            成

sudo配合syslog日志审计记录用户操作

sudo配合syslog日志审计 说明:所谓sudo命令日志审计,并不记录普通用户的普通操作,而是记录那些执行sudo命令的用户操作 一.安装sudo命令,syslog服务(centos6.5为rsyslog服务) [[email protected] ~]# rpm -qa |egrep "sudo|syslog" rsyslog-5.8.10-8.el6.i686 sudo-1.8.6p3-12.el6.i686 如果没有安装就用yum安装一下 二.配置/etc/sudoers [

MongoDB学习笔记六:高级操作

[数据库命令]『命令的工作原理』MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询针对$cmd集合来执行.runCommand仅仅是接受命令文档,执行等价查询,因此,> db.runCommand({"drop" : "test"})这个drop调用实际上是这样的: db.$cmd.findOne({"drop" : "test"})当MongoDB服务器得到查询$cmd集合的请求时,会启动一套特殊的逻

《学习opencv》笔记——矩阵和图像操作——cvDet,cvDit,cvDotProduct,cvEigenVV and cvFlip

矩阵和图像的操作 (1)cvDet函数 其结构 double cvDet(//计算矩阵的行列式 const CvArr* mat ); 实例代码 #include <cv.h> #include <highgui.h> #include <stdio.h> #include <iostream> using namespace std; int main() { double va[] = {1,0,0,0,2,0,0,0,3}; CvMat Va=cvMa

按时按登录IP记录Linux所有用户操作日志的方法(附脚本)

PS:Linux用户操作记录一般通过命令history来查看历史记录,但是如果因为某人误操作了删除了重要的数据,这种情况下history命令就不会有什么作用了.以下方法可以实现通过记录登陆IP地址和所有用户登录所操作的日志记录! 在/etc/profile配置文件的末尾加入以下脚本代码就可以实现,下面脚本是我网上找来的,原作者不知.但原脚本的时间变量有错误,不能记录时间,本人测试发现并检查修正: PS1="`whoami`@`hostname`:"'[$PWD]' history US

oracle 11gR2启用对sys用户操作行为的审计

在oracle 11gR2中,缺省在audit_file_dest目录会记录sys用户的登录审计信息,但并不会审计操作内容. 启用对sys用户操作行为的审计 SQL> alter system set audit_sys_operations=TRUE scope=spfile; System altered. 因为是audit_sys_operations是静态参数,需要重新数据库 SQL> shutdown immediate; Database closed. Database dism

《学习opencv》笔记——矩阵和图像操作——cvSetIdentity,cvSolve,cvSplit,cvSub,cvSubS and cvSubRS

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump