(三)查看文档
官方文档是最权威的参考资料。在绝大多数情况下我们应该首先从官方文档里获取帮助,如果实在是找不到结果,再考虑其他方式。 selenium javascript 版本的文档在这里 除了官方文档,stackoverflow也是一个非常好的选择,很多时候去一些具体场景的使用问题,这里都有答案。 selenium javascript的问题一般都列在这里,我们可以通 …
从基础概念到工具实操,逐篇掌握测试技能。
517 篇内容官方文档是最权威的参考资料。在绝大多数情况下我们应该首先从官方文档里获取帮助,如果实在是找不到结果,再考虑其他方式。 selenium javascript 版本的文档在这里 除了官方文档,stackoverflow也是一个非常好的选择,很多时候去一些具体场景的使用问题,这里都有答案。 selenium javascript的问题一般都列在这里,我们可以通 …
当你了解你的系统架构之后,接下来可以好好的分析一下性能测试点。因为这关系到你测试工具的选型。 性能测试点的选取 * 发生频率非常高的(例如:某邮箱核心业务系统中的登录、收发邮件等业务,它们在每天的业务总量中占到90%以上) * 关键程度非常高的(产品经理认为绝对不能出现问题的,如登录等) * 资源占用非常严重的(导致磁盘I/O非常大的,例如某个业务进行结果提 …
根据对系统性能测试点的分析,我们选择合适的工作。不是所有的性能需求都要用LoadRunner或Jmeter来进行的。只要能满足需求就可以了,我个人倾向于轻量级的性能工具,或自己动手写代码。 软件性能测试工具分为三类,商业收费工具、开源免费工具、自主开发工具。 表: – 商业工具 开源工具 自研工具 优点 功能强大且简单易用;提供丰富的功能,支持更多协议和并发 …
简介部分就不用过多描述了,无非项目的背景,进行此次性能测试的原因,以及性能测试覆盖的范围等等,几乎所有项目文档都在开端对项目进行简单的阐述。 寻找的被测试对象和压力点 要测试的对象不是凭空想象出来,而是经过分析与系统数据收集得到。以下取几个典型的压力点。 登录:对于一般的系统来说,登录是用户操作系统的前提,如果用户根本就登录不了,那么其它功能将毫无用处。例如 …
那么性能测试环境与功能测试环境有所不同,对于一些企业为了节约资源,进行功能测试的测试环境,一台服务器可以运行多个系统,通过技术手段可以使系统之间是不会相互影响的(以前公司就是一台服务器上跑多个tomcat)。 性能测试是要对整个系统运行的软件硬件环境进行测试的,如果某环境下运行多个系统,就很难判断其中的某个环境对资源的占用情况。 1、硬件环境,包括服务器环 …
参考测试计划,大概执行过程如下:
性能测试调优需要先发现瓶颈,那么系统一般会存在哪些瓶颈: 硬件上的性能瓶颈: 一般指的是CPU、内存、磁盘I/O 方面的问题,分为服务器硬件瓶颈、网络瓶颈(对局域网可以不考虑)、服务器操作系统瓶颈(参数配置)、中间件瓶颈(参数配置、数据库、web服务器等)、应用瓶颈(SQL 语句、数据库设计、业务逻辑、算法等)。 应用软件上的性能瓶颈: 一般指的是应用服务 …
UI的自动化测试的主要操作就是找到页面上的元素并且操作元素。找到元素一般有2个目的 操作元素: 比如点击,输入内容之类的 获取这个元素的某些属性: 比如获取一个段落元素(p)的内容,通过这个内容去验证测试是否达到了预期的效果(断言) selenium的javascript binding支持下面一些定位方法 By.className( name ) …
一般来说表单元素的标签大多出现在 标签中,比如 : 单行文本框 : checkbox : radio : 下拉框 : 多行文本 如果这样元素有name属性的话,建议使用name属性去定位,因为相比较其他属性,name属性更加稳定。 有一些元素比如checkbox和radio往往有多个name属性相同的元素,如下面的html代码所示 这时候也可以使用name属 …
appium系列教程已经发布。 这一系列教程是我多年前编写的,尽管appium这些年变化很快,但是目前看来这些教程对于入门者来说还是足够的。 大家有更多的需求请留言,教程中如有不准确的地方也请大家斧正。 后续我们会加入更多的appium教程,敬请期待。
__测试教程网__ 正在努力打造专业测试基础教程网站。很高兴的告诉大家,我们的备案号申请通过。我们于2017年8月7号晚进行了服务器迁移。8月8号上午发现部分页面样式问题,现已修复。在此期间给你带来的不便敬请见谅! 2017.08.08 测试教程网
用className定位实际上是通过元素的html属性class定位,由于最早的webdriver client版本是使用java实现的,java中class是一个保留字,class不给用,所以就使用了className来替代。 selenium不支持复合的class属性。比如 ,我们只能通过 或者是 来定位,不能同时使用这2个class进行定位。 熟 …
链接可以使用By.linkText和By.partialLinkText的方式去定位。 链接的html标签是 。 看这个html代码 ,这里**[这就是linkText]** 便是这个链接的linkText,partialLinkText指的是部分的链接文本,如果链接的文本过长的时候,使用partialLinkText会起到简化代码的作用。 熟 …
火狐的css教程应该是比较权威的css入门教程了。 对于selenium自动化测试来说,大家只需要掌握一些必备的css选择器知识就好了。 熟悉selenium webdriver 定位方式 学会通过css选择器去定位元素 我们使用html5-test-page作为我们的练习对象。 将html代码拷贝一份并保存到本地,文件名为 。 定位下面html代码所示的输 …
自学xpath 选取此节点的所有子节点。 从根节点选取。 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 选取当前节点。 选取当前节点的父节点。 选取属性。 css和xpath选择器大家只需要精通其中一种就可以了。
sendKeys()方法可以用来模拟用户按下键盘,组合键比如 等也可以模拟。 学会使用sendKeys方法 学会使用模拟特殊按钮 测试中我们经常会打开一个页面,然后一下往下拉,直到滚动条拉到最底部,这怎么用selenium来实现呢? 其实我们可以用模拟按空格键的方式实现。大家都知道,在页面上一直按空格键,页面就会到达最底部,当然这并不精确,但大多数时候都是管 …
当页面的交互比较复杂的时候,我们可能会使用到组合事件。比如先把鼠标移动到某个元素上,然后按住鼠标,将该元素拖到另一个地方。为了完成这种操作,我们就需要使用组合事件ActionSequence 组合事件中,我们可以组合鼠标和键盘的操作,这些操作将根据我们组合的顺序依次执行。 直接使用 进行调用,不需要额外的初始化工作; 只有显示调用了 方法才让所有动作真正得到 …
定位一组元素一般有如下的作用 找到一组属性部分相同的元素,遍历元素,做一些批量操作 找到一组属性部分相同的元素,遍历元素,返回1个或几个特定的元素,做更精确的定位 findElements方法可以定位一组元素。该方法的参数跟findElement方法一致。 学会使用findElements方法 学会使用getAttribute方法 打印测试教程网中所有 …
当我们要定位的元素位于页面中的iframe或frame标签中时,我们必须将定位的上下文切换到对应的frame中去,否则我们将没有办法定位到frame中的元素,这是套路,可以先无脑记住。 学会使用switchTo().frame(id)方法 id可以是1个数字,从0开始。switchTo().frame(0)表示切换到页面上的第1个frame,依此类推; id …
下拉列表的标签是select,如上所示,其中 select表示下拉列表 option表示列表里的子项 上面的html里,这个下拉列表中一共有3项,分别是Option One, Option Two和Option Three。 学会选择下拉列表里的特定项目 学会使用层级定位 选择上面html代码所示的下拉列表的最后一项,也就是Option Three。