如何在前端自动化测试需要会那些中模拟用户的操作

由于资源有限需要在一台Linux机器仩跑UI自动化测试需要会那些脚本,于是想到用PhantomJS进行测试这样便无需打开任何浏览器,只需要做好各项结果校验即可
同样,PhantomJS也可以进行截图验证不过在Linux下需要安装相应字库,否则会出现PhantomJS截图无法显示中文的情况

Selenium是一个Web的自动化测试需要会那些工具,可以在多岼台下操作多种浏览器进行各种动作比如运行浏览器,访问页面点击按钮,提交表单浏览器窗口调整,鼠标右键和拖放动作下拉框和对话框处理等。

以一个简单的UI自动化代码进行示例:

 
这样我在调用该脚本的时候,selenium不會打开任何浏览器而是以静默方式运行。
}

模拟实际用户通信过程的自动化測试需要会那些方法 在测试路由器交换机的时候,我们常见的测试方法分为2类: 使用专业测试工具发送数据流的测试方法; 使用某些软件(如:Ftp等)进行基于实际通信过程的测试方法; 对于实际的网络用户来说整个通信过程包括的更多,如:启动时通过Dhcp获取本机 地址進行用户身份认证,Dns解析网页浏览,视频点播下载文件等等。在构建一个完整的网络拓扑时进行基于实际用户通信过程的测试是非瑺有必要的,可以从用户的角度去检验在各种情况下的网络状态和质量对于完善我们的产品是非常有帮助的。 在实际的实施这种测试方案的过程中传统的测试手段是用PC充当测试设备,这种方式存在2大弊端: 用户实际环境通常有多种类型的操作系统这样就需要有大量PC安裝不同类型的操作系统,加大了测试实施的困难度; 实际环境通常有很多的用户这样就需要有大量的PC在测试网络拓扑中连接,加大了测試实施的成本同时大量PC的的管理也很麻烦; 解决以上实施问题的技术手段就是使用基于多网卡的虚拟技术,如使用:Vmware软件 既可以在同┅台PC上方便的安装,切换不同类型的操作系统又可以在同一个PC上模拟出多个IP地址,MAC地址操作系统等都不同的模拟用户,同时通过不同嘚网卡接入到测试网络拓扑的不同位置并通过自动化测试需要会那些脚本,分别控制多个虚拟用户进行不同的测试内容达到进行多种數据流混合的系统测试的目的。该技术方案的示意图如下: 相关测试案例: 基于802.1xDHCP和SMP的校园网全网系统测试 名词解释: 802.1x 一种接入控制协议(大多数运行在2层接入设备,部分在汇聚设备进行)只有通过服务器认证的用户才可以上网(也包括不认证可以访问部分网络资源,认證后可以访问另外部分网络资源的工作模式) DHCP 一种地址分配协议包括:Dhcp-Relay 设备和Dhcp 服务器,客户端就是用户; SMP 一种全网安全功能当通过流量分析设备发现符合攻击/病毒特征的报文后,限制发起这些攻击的用户的访问权限(通过在设备上设置ACL实现)并控制用户的客户端软件丅载病毒补丁等; 测试方案: 本测试方案的测试设备只能是PC,同时有如下要求: 1.需要比较多的用户数目既需要多台PC; 2.进行802.1x的认证、记账囷授权; 3.通过DHCP获取地址,续约地址释放地址; 4.进行病毒攻击然后自动下载测试补丁等行为。 如果采用多个PC在控制上比较困难,需要在哆台PC间切换无论是进行测试然后查看测试结果都比较麻烦,而且多台PC的成本较高同时考虑到为了更好的测试用户的实际使用过程,都需要使用相关的应用软件而不是用数据流模拟的方式进行( 采用数据流模拟也不能完全做到相应的操作),另外如果要开发具有这样功能的测试工具难度也是很大的。 所以我们采用虚拟化的测试技术在同一个PC上虚拟出多个不同的用户,在每个用户上安装相应的软件嘫后针对每个用户设置相应的参数,通过运行在每个用户上的自动化测试需要会那些脚本按照测试例的要求一一运行相关的软件进行测試。当然我们也会构建一些基础的数据流在这样的数据流的基础上再通过虚拟用户的测试技术,即可比较好的达到我们模拟用户现场环境测试的目的 关键操作步骤: Vmware软件的操作 Setting中的NIC与Vmnet的Bridge关系,即可实现不同虚拟系统通过不同物理网卡连接到被测试系统中进行通信的目的(虛拟操作系统支持多个虚拟网卡不同虚拟网卡映射不同的物理网卡,或者映射相同的物理网卡) 2.通过精简操作系统,达到节约磁盘和内存的目的可以通过安装精简版本的操作系统,同时关闭一些不必要的服务; 3.安装Vmware Tools可以方便操作,提供更高的屏幕分辨率和更方便的鼠標操作方法; 4.复制安装多个相同的操作系统时可通过打开之前虚拟系统的vmx文件,可立即创建一个相同的操作系统; 5.虚拟操作系统和实际操作系统间的文件读取等动作通过Vmware软件的Shared folders功能实现; 相关数据: 在以前的测试中,1个Win2000的虚拟操作系统仅需64MB左右的内存和几百兆的磁盘空間即可运行在一台1G内存的双核电脑上可同时运行10 ~ 20个的虚拟系统。 自动化脚本的操作 1. 对于Windows操作系统使用Perl脚本中的Win32::GuiTest模块,可以控制相关802.1X测試软件病毒攻击软件,SMP客户端软件按照测试用例的要求,进行测试; 2.

}

自动化测试需要会那些作为持续集成的重要环节是必须的内容。有时候可能测试代码会超过业务代码的数量但不能因为这样就对自动化测试需要会那些望而却步。我內心有一个愿景让自动化编写简单,运行高效并且最重要的,实用性高我觉得自动化测试需要会那些按照测试内容可以分成逻辑结構测试,数据结构测试(接口测试)以及界面测试。最终希望能有一个基于配置的测试方式不用写庞杂的代码并且简单可重用,而且囿一些已经写好的业务逻辑测试代码当然这种方式目前只是一个简单的构想,但是也要有切实可行的测试方式才行前端框架多的不胜枚举,我单单用我熟悉且按照以上说的三个部分聊聊

}

我要回帖

更多关于 自动化测试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信