今天重新理了下我曾经学过的selenium思路

ID TestCase Premise KeywordDriven ParameterInput EcpectedResult Remarks
1 输入站点,可正确访问主页面   我所调用的函数名 http://www.baidu.com/ Y 仅从功能点出发,若再细致点,可以考虑下最后这个斜杠;
2 页面正常展示(图片,链接)       Y 这里不需要输入,只需要取出所有的链接以及图片即可;图片验证的时候,只需要取出对应的url拼接下,看是否可访问即可,链接更容易验证;需要注意的一点是,在验证这些问题时,我们不需要再思考后续的站点,只需要检查下http返回值即可
3 使用正确的用户名登陆     username:zhoujun;password:123456 Y 类似这类问题验证时,可能需要考虑的东西比较多:1.登录时长,若一直卡着怎么办;2.用哪些内容去证明我登录成功还是失败了;当然也可以在这里加个计时器,计算下我登录的耗时;
4 异常登录1     username:xxx;password:123456 N  
    username:zhoujun;password:abcd  
  下载     sdk name   这类下载问题需要考虑:1.可下载;2.下载的东西是正确的;需要解决一些问题:1.下载的时候我是不可控制的,即我无法获取下载是否完成;2.若下载内容过大时,就会对1的解决造成很大麻烦;3.每次下载并验证完毕后,我需要删除避免对下一次验证造成影响;
             
对于浏览器的一些基本操作,个人感觉对上述操作外,基本无其他需要考虑的了,而针对于这些操作,最难的可能是并不是函数功能的实现,而是他的稳定性。我对这一套链路的思路包括,用例设计、函数实现,结果对比;
用例设计就如上面这类格式,使用关键字(其实就是个函数名)去驱动;

这里有一点值的我考虑,我是对每一条用例都做一次打开浏览器呢,还是从头到尾只开一个浏览器的进行操作;可能后者效率会比较高,但是关联性太大,不易控制,前者则更为容易控制,前提是若有成百上千的用例,难道我就要不停的开、关浏览器么?

对于上述备注的一些问题,除了下载的控制没法做外,其余问题均可有效解决;
当然对于整个测试方案来说,需要考虑的东西远远大于这些,兼容性,缓存,很多功能点并不是那么容易实现的。
还有一点,忘了写了。。。JS!
   
   
   
   
   
   
             
           
时间: 2024-08-02 11:04:25

今天重新理了下我曾经学过的selenium思路的相关文章

Web下的整体测试 --性能测试及优化思路

随着Internet的日益普及,现在基于B/S结构的大型应用越来越多,可如何对这些应用进行测试成为日益迫切的问题.有许多测试人员来信问我B/S的测试如何做,由于工作较繁忙,对大家提出的问题也是头痛医头脚痛医脚,没有对WEB的测试过程做一个整体的概述.希望通过本篇能够让大家了解大型Web应用是如何来进行测试的. B/S下的功能测试比较简单,关键是如何做好性能测试.目前大多数的测试人员认为只要跑一些测试工具证明我的产品是可以达到性能的就ok了,为了证明而去测试是没有任何价值的,关键是要发现产品性能上

iOS: 了解下 XCode 曾用过的编译器

之前聊到@property 的用法时,曾提到@Property 的变化是因XCode的变更引起的, 究其根本原因, 是XCode所用编译器发生变化造成的. 在XCode4之前,Apple 所用的编译器是 GNU C Compiler (简称 GCC). 自XCode4 后, Apple 将XCode的编译器改为 Low Level Virtual Machine (LLVM). 在GCC编译器时代, 声明一个@property时,必须为这个property创建一个实例变量(instance va

他曾经学完Web前端,给大家留下宝贵的学习web前端经验

前几天接触了一个叫小易的大专生,学机电一体化,我们都知道,现在大学都是在混日子,打游戏度日,大专更是如此,一个人很容易被环境影响,他的寝室也都是打了三年游戏过来的同学,他也是其中一个.毕业后,做了三个月的销售工作,像其他人一样,为了养活自己,只能找一个工作维持生活.用他的原话说:有一天他突然就意识到,似乎很多人的人生都是这样浪费掉的,一直做着自己不喜欢,杂七杂八的工作,不断的浪费着自己的时间,然后人到中年,一辈子就这个样子了.然后他想不能这样下去,必须要学一个东西,一直做下去,然后他租了一个小房

Windows 8/8.1系统下硬盘占用率100%的问题解决思路汇总

家庭组 2.关闭虚拟内存 3.关闭Windows 8快速开机功能 4.服务进程superfetch 5.系统下软件排除 操作步骤: 1.Windows 8系统的家庭组方便多人不用存储设备就能在局域网中的多台设备间方便地分享文件与文件夹,但对于配置一般的电脑来说,家庭组功能其实也带来了一些副作用:提升CPU占用,硬盘读写增多.打开家庭组功能后后,硬盘会一直保持读写状态. 关闭家庭组功能: 右击计算机,选择管理: 在服务和应用程序中点击服务,找到并关闭HomeGroup Listener与HomeG

windows系统下Python环境的搭建及Selenium的安装

1.首先访问http://www.python.org/download/去下载最新的python版本: 2.下载安装包,一路安装完毕: 3.为计算机添加安装目录搭到环境变量,如图把python的安装目录添加到path系统变量中即可: 4.测试python安装是否成功,cmd打开命令行输入 python 命令: 装的是3.4.3版本,要采用这种写法 print ('Hello World!'),需要用括号把字符串包含: 5.查看安装的版本: 备注:以上表示,python安装成功,且path配置也

CentOS 7下MySQL服务启动失败的解决思路

今天,启动MySQL服务器失败,如下所示: [[email protected] ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -

Ubuntu 16.04下SecureCRT无法输入中文的解决思路

说明:首先网上的方法基本都是不行的,别试了. 但是可以有弥补方案: 1.通过外界的软件编辑好中文,然后粘贴过去.虽然是多了一步,但是也可以输入中文. 2.关于这个问题应该是没有中文字体库导致的,可以尝试安装中文字体库,然后在这里设置成Windows的一样,估计能输入中文.

九度OJ平台练习 —— 题目1012

这道题目设计到一点图论的知识,幸好我曾经学过图论. 思路是这样的: 当两个城市之间有道路能连通时,将这两个城市加入到同一个连通子集里,每个连通子集里的任意两个城市都是可以连通的. 比如存在两条路(1,2)和(2,3),那么1,2加入到一个连通子集s里,s = {1,2},2,3也加入到一个连通子集里,因为2已经在s中,那么把3加入到s中,s={1,2,3},根据s我们就可以得出,1和3是可以连通的. 处理完所有的路之后,我们得到j个连通子集,要使每个城市都能连通,即j个连通子集能够连通,至少需要

Windows10下搭建汇编语言开发环境(利用DOSBOX和MASM32)

------------------------------------ 版权信息 ------------------------------------ 此文链接: http://blog.csdn.net/doniexun/article/details/45268365 此文作者: Windness版权说明: 此文为作者经过检索网上资源及根据个人开发经验整理所得,所有参考文献均已在文末标注,转载请务必保留此版权信息! -----------------------------------