如何做好WEB前端自动化测试.docx

上传人:b****6 文档编号:8062495 上传时间:2023-01-28 格式:DOCX 页数:8 大小:904.67KB
下载 相关 举报
如何做好WEB前端自动化测试.docx_第1页
第1页 / 共8页
如何做好WEB前端自动化测试.docx_第2页
第2页 / 共8页
如何做好WEB前端自动化测试.docx_第3页
第3页 / 共8页
如何做好WEB前端自动化测试.docx_第4页
第4页 / 共8页
如何做好WEB前端自动化测试.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

如何做好WEB前端自动化测试.docx

《如何做好WEB前端自动化测试.docx》由会员分享,可在线阅读,更多相关《如何做好WEB前端自动化测试.docx(8页珍藏版)》请在冰豆网上搜索。

如何做好WEB前端自动化测试.docx

如何做好WEB前端自动化测试

如何做好WEB前端自动化测试

测试数据

放到txt或者放到excel中,脚本中编写代码可以从文件中读取测试数据

我是放到一个类中,数据就是每个类中的变量;总之,测试数据肯定要单独存放

数据库的操作

现在的WEB应用肯定都离不开数据库,不论是mysql还是oracle;Selenium本身是和数据库没有任何联系的,它只是对浏览器动作的封装,如果想操作数据库,那么就得在脚本中添加这部分的代码

 

什么时候会用到数据库:

1、用户某个动作,如购买某一件商品完成时(这部分用selenium去实现),需要检查数据库里是否增加了对应的记录(如支付表中增加一条记录、商品表中数量减少1、订单表增加一条记录等等等等)

2、测试类似于注册或需要运行前清理一部分数据时(如果你每次测试注册或者邀请好友奖励的时候,不希望每次都得换新用户去测试,那么在运行前增加清理用户或者清理用户之间邀请推荐的绑定关系记录吧)

3、在页面输入某项数据时,例如查询某个订单的状态,订单号只能从数据库中获取该用户的订单号

 

数据库的操作也建议单独写一个模块,便于管理和维护,我在做性能测试的时候就用到过之前自动化测试中的数据库脚本,进行一些操作

每个系统的数据库设计不同,从简单到复杂,比较容易遇到的问题就是各种约束,尤其是外键,清理数据的时候非常麻烦(经常遇到想删除一条记录的时候,必须得先清除另外N张表中的数据,这N张表可能还和其他表存在外键关系);如果自己整理不清除的话,建议找DBA多咨询

现在用到的数据库,看一下约束

简单看一下我写的数据库清理用户数据的脚本

浏览器的启动

单独写一个类,根据配置文件中的值,来设定

启动IE、FIREFOX、CHROME;

是否需要利用seleniumserver进行远程分布式多浏览器测试;

浏览器窗口大小;

寻找元素的最大WAIT时间

而启动的初始化则放在unittest的setup方法中(类似于构造函数,每次用例执行都会执行该方法实例化浏览器),而关闭浏览器则放到teardown中(类似于析构函数)

真正的测试脚本

真正的描述用户一系列动作、业务流程的脚本,可以在某个模块中加入多个类,每个类就是一系列人为划分的动作,如:

注册、登录、支付页面、购买商品、提交商品信息等等

为什么叫人为划分呢,其实就是抽象出一些公用的动作,比如要购买商品、发表评价都需要先登录,那登录就肯定要单独写;再比如购买衣服需要支付、购买彩票需要支付,而不论如何支付都是同一个页面,那支付页面输入银行卡用户名密码的这个动作就要抽取出来(如果你一开始没有这样做,把它们全揉在你的其他动作中,强烈建议你开始重构你的脚本,并且在以后有意识的避免这样的问题)

下面是一个申请信息发布的脚本,大概有6个页面的多个表单共50项左右的输入项填写

unittest测试管理

我使用的是pyunit,类似于junit的单元测试工具,测试运行过程中,可以很直观的看到测试的执行情况

(eclipse安装pydev插件后自带该功能,这里不再过多解释如何使用unittest,例如如何加载测试用例,如何定义测试名称等等,对了,pyunit自身不支持failfast这个参数,很奇怪)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1