介绍 这篇文档将会是一篇在「高层面」的怎么用 Robotframework 来编写优秀测试用例的原则.至于如何使用 Robotframework 来与您的待测试系统相作用这样的细节讨论是不包含在这篇文档中的. 最重要的一条原则就是保证测试用例对于(不?)熟悉这个领域的人来讲越简单越好. 关于这个主题的更多信息,你可以查看以下这些优秀的资源: Writing Maintainable Automated Acceptance Tests 作者:Dale H. Emery How to Struct…
如何使用Robot Framework编写优秀的测试用例 概述 命名 测试套件命名 测试用例命名 关键字命名 setup和teardown的命名 文档 测试套件文档 测试用例文档 用户关键字文档 测试套件结构 测试用例结构 工作流测试 数据驱动测试 用户关键字 变量 变量的命名 传参和返回值 避免使用Sleep关键字 我们AT中的一些约定 概述 这篇文档是使用Robot Framework编写好的测试用例的高级纲要,至于如何实际和被测系统(SUT)交互超出了本文档的范围. 最重要的大纲是使得测试…
编写优秀Bug报告的艺术及案例分析 ---Rex Black原著<Fine art of writing a good bug report > ---Kiki翻译于2005/5/28 前言 在99年的Quality week上的一次演讲中,微软的一个测试经理,Roger Sherman指出了由于“不可重现”导致bug关闭的主要原因.这是一个非常可惜的情况,因为这样的bug report浪费了紧张的开发计划中的宝贵时间,增加了对产品质量完全是无关紧要的事情,同时导致了在开发人员和测试之间的挫败…
package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import…
import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpClass(self): cap = {} cap['platformName'] = 'Android' cap['platformVersion'] = '4.4.2' cap['deviceName'] = '7N2SSE158P001892' cap['noReset'] = 'noReset'…
命名 测试套件的名称   之后,你可能应该描述你的名字. 名称是从文件或目录名自动创建: 扩展了. 强调了转换空间. 如果名称都是小写,大写的单词是. 名称可以是比较长的,但是太长的名字不方便 文件系统. “顶层套房的名字可以覆盖从命令行使用的 姓名选项,如果需要. 实例:   login_tests.robot -> Login Tests IP_v4_and_v6 -> IP v4 and v6   测试用例名称   试验名称应描述类似套房的名字. 如果一套包含许多类似的测试,和套件本身是…
测试集.脚本 测试脚本的名字不要超过20个字符,文件类型应该为txt  名字必需易读且有意义(看名知意)  记住测试集的名字是自动根据文件.目录的名字创建的.后缀名会被截去,下划线会转换为空格,如果名字全部  为小写,每个单词的首字母会大写.例如login_tests.html->Login Tests,DHCP_and_DNS->DHCP and DNS  文档应该根据脚本和预先条件进行更新  为Suite Setup,Suite Teardown, Test Setup 和 Test Te…
引子 我们使用符合Robot Framework规范的一种表格语法来编写测试用例.用例一般会是下面这个样子 这样的表格存储到一个文件中,就是一组测试用例.RF支持多种格式,如HTML,TSV,纯文本等.它们长相大同小异,其实描述的都是一种内容.为了方便,推荐使用RIDE这个用例的编辑工具来编写测试用例,这些文本在RIDE环境下被打开长得是一个样子的. 测试用例与文件的关系 一个文件被称作一个测试套件(Test suit),期间可以包含多个测试用例.上图就是一个测试套件,里面包含2个测试用例,My…
基本语法 测试用例由关键字组成,关键字的来源有三种: 1从测试库引入:2从资源文件引入:3从关键字表中引入(自定义关键字) 下面就是一个典型的测试用例组织形式. 图中有2个测试用例“Valid Login” 和 “Setting Varriables”.第一列是用例名称,第二列是关键字,这些关键字来实现具体的测试工作,后面的列是参数列,放置关键字需要的参数.Valid Login这个用例其实很清晰,我们通过读这个用例使用的关键字就能清晰的看出是一个登陆的检验. 使用参数 我们看到,关键字其实和编…
怎样用C语言编写病毒在分析病毒机理的基础上,用C语言写了一个小病毒作为实例,用TURBOC2.0实现.[Abstract] This paper introduce the charateristic of the computer virus,then show a simple example written by TURBOC2.0.一.什么是病毒 恶意软件可能是第一个对我们产生影响的计算机安全问题.所以病毒在信息安全中是很重要的.我们要对付病毒,就要了解病毒.写一些病毒是一个很好的办法.…
1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用. 不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面. 而方法可能应该放在Prototype方法内部. /注意为了更好的兼容性,开始前有个分号 ;(function($){ //此处将$作为匿名函数的形参 /*这里置放代码,可以使用$作为jQuery的缩写别名*/ })(jQuery); //这里将jQuery作为实参传递给匿名函数了 <script> //插…
vc++6.0 作为经典版本,虽然已经几乎淘汰,但还是有很多的初学者在使用.但当他们使用vs2013时会发现界面和操作和vc++6.0有了极大的不同,不知该如何 操作.随着vs2013的普及,更多人使用它作为开发工具,我们现在来介绍如何使用vs2013来编写一个简单的C语言程序. 工具/原料 visual studio2013的任意版本 方法/步骤 首先打开vs2013,我们发现有 新建项目 和 打开项目 的选项,我们选择新建项目.   之后会有一个新建项目的界面,左侧有各种语言的编写环境,比如…
1.一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器.2.一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统3.尽量只做功能中正向逻辑的验证,不要考虑太多逆向逻辑的验证,逆向逻辑的情况很多(例如手号输错有很多种情况) ,验证一方面比较复杂,需要编写大量的脚本,另一方面自动化脚本本身比较脆弱,很多非正常的逻辑的验证能力不强. (我们尽量遵循用户正常使用原则编写脚本即可)4.脚本之间不要产生关联性,也就是说编写的每一个脚本都是独立的,不能依赖或影响其…
编写基本的CSS和HTML是我们作为Web开发人员学习的首要事情之一.然而,我遇到的很多应用程序显然没有人花时间真正考虑前端开发的长久性和可维护性. 我认为这主要是因为许多开发人员对组织CSS / HTML和JavaScript的策略缺乏深刻的理解. 在我和我们团队的观念中,编写可维护的前端代码非常重要.尽管我们有一些使用了多年的客户端,但要记住你永远不会是唯一一个工作于应用程序的人.仅仅因为你的一次性元素和配置对你有意义,并不意味着它们对下一个可能继承应用程序的人有意义. 为了防止这篇文章太长…
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html Hook 就是常说的钩子函数,在 pytest 框架里面也有 hook 这个概念:接下来就让我们来看看 Mocha 提供的 Hook 函数叭! Mocha 提供的 Hook 函数 before() beforeEach() afterEach() after() hook 的作用 利用钩子函数可以在所有测试用例执行前做一些预置操作(如:准…
编写基本的CSS和HTML是我们作为Web开发人员学习的首要事情之一.然而,我遇到的很多应用程序显然没有人花时间真正考虑前端开发的长久性和可维护性. 我认为这主要是因为许多开发人员对组织CSS / HTML和JavaScript的策略缺乏深刻的理解. 在我和我们团队的观念中,编写可维护的前端代码非常重要.尽管我们有一些使用了多年的客户端,但要记住你永远不会是唯一一个工作于应用程序的人.仅仅因为你的一次性元素和配置对你有意义,并不意味着它们对下一个可能继承应用程序的人有意义. 为了防止这篇文章太长…
目录 前言 安装-python-docx 一.自动编写<赤壁赋> 准备数据 新建文档 添加标题 添加作者 添加朝代 添加图片 添加段落 保存word文档 二.自动提取<赤壁赋>的文字 前言 苏东坡,千古奇才,大家都喜欢他.叔叔也非常喜欢他,毕竟东坡肉外酥里嫩,肥而不腻,堪称人间极品. 不过,比起苏东坡,叔叔更喜欢王维 大帅哥.迷倒大唐公主 专一.这样一个大帅哥,在妻子过世后没有再娶 有才华.写诗.绘画.音乐.书法各种会,妥妥的顶级文艺青年. 这样一个帅气专一有才的人,试问谁不喜欢呢…
前言:在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了.使用相同的设计模式和架构也让修复bug或者二次开发更容易.一套经过验证的架构可以保证我的插件不出大的问题,不论插件简单还是复杂.我在这里分享10条我总结的经验. 1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用.不过你的插件的代码只为你自己的插件服务,所以不存…
新建Win32控制台应用程序   勾选控制台空项目   右击源文件,添加cpp文件   输入范例代码,可以正常运行#include <stdio.h> int main(void) { int di = 8; int gao = 4; int mianji = di*gao / 2; printf("三角形的底为%d厘米,高为%d厘米,面积为%d平方厘米.",di,gao,mianji); getchar(); }                …
http://blog.sina.com.cn/s/blog_53f023270101sc3w.html http://www.cnblogs.com/2test/p/5336842.html…
1. 前言 本篇是第一系列(Http接口自动化)的第五课程,如果对系列课程大纲不清楚的,可以查看<RobotFramework系列免费课程-开课了~>. 前面我们介绍了,在真正实施前,需先定好多人协作过程中约定的接口用例规范,以及开始时,接口项目如何结构化分层,那么今天,我们来聊聊,用RobotFramework如何编写接口用例及如何对用例断言. 2. 开始前的准备 在写接口用例前,除了前面几节介绍的接口框架环境准备.接口用例规范的制定.项目分层这几点外,在真正开始写用 例之前,还有一环节是必…
编写Web测试用例 1.介绍了unittest单元测试框架,其主要是来运行Web自动化测试脚本.简单的规划一下测试目录:web_demo1/------test_case/------------test_baidu.py------------test_google.py------report/------------login.txt------runtest.py目录结构如下图所示: 创建web测试用例. #test_baidu.py #coding:utf-8 from seleniu…
接口文档已经提供了,requests库.unittest单元测试框架也已经介绍过,笔者相信读者朋友已经可以独立编写接口自动化测试用例了.但是有一些细节,我们需要聊一下.比如我们写登录接口测试用例,用户名为空.密码为空.用户名错误.密码错误.用户名密码都正确,假设我们只编写这几条测试用例,我们一般的做法如下代码所示: # -*- coding: utf-8 -*- import requests import unittest from nose_parameterized import para…
Postman2Testlink 通过Postman快速操作testlink测试用例.测试套件.测试计划.添加关键词.添加自定义字段等等. 工具地址 https://github.com/liyinchigithub/Postman2Testlink 一.背景 因团队使用testlink对测试用例管理维护,而大家习惯用Xmind.Excel编写.维护测试用例,再将将其转成testlink xml格式,导入testlink中. 但testlink修改用例操作体验比较不舒服,比如:页面不断刷新,或者…
Node.js 除了用来编写 WEB 应用之外,还可以用来编写 API 服务,我们在本文中会介绍编写 Node.js Rest API 的最佳实践,包括如何命名路由.进行认证和测试等话题,内容摘要如下: 正确使用 HTTP Method 和路由 正确的使用 HTTP 状态码 使用 HTTP Header 来发送元数据 为 REST API 挑选合适的框架 要对 API 进行黑盒测试 使用基于 JWT 的无状态的认证机制 学会使用条件请求机制 拥抱接口调用频率限制(Rate-Limiting) 编…
分享一篇网上别人的感悟:      6年前,我在一家中型跨国公司工作的时候,我建议与其浪费时间在准备充分的测试用例,还不如编写描述测试场景的文档.所有的人都对我的建议.投以烦恼的目光.他们的脸上清晰地传递出,我这个建议犯了个大错误.虽然没人否认了这一想法,但更没有人愿意接受.每个人都认同传统做法,即编写测试用例,会更稳妥.我无力反驳. 4年之后,该公司接到一个测试项目,唯一的约束就是时间,唯一的期望是完整的测试证明材料.再次见面,我们讨论了怎么赶上最后期限的想法.应用程序主要是关于“通过搜索和生…
本文作者Angus Croll是Twitter工程师.JavaScript迷.文学迷,并且非常喜欢作家海明威.他在梦中"梦见"一些名人编写JavaScript代码,不同的作家呈现出各种编程风格,大家不妨一起来品尝下. 下面是对原文的摘译. 最近,我做了一个梦,我请海明威和其他四位文学名人替我编写JavaScript代码,一个函数返回一个给定长度的斐波纳契数列.有趣地是,他们每个人都以不同的方式完成了这一题,并且都做的很好——只是我想说,每个解决方案工作起来都好比广告(即使是Andre…
robotframework自动化系统:登录 robotframework对于编程能力比较弱的测试人员而言,真的是雪中送炭!我们可以使用robotframework根据之前完成的测试用例,一步步完善自动化测试.在整个测试过程而言,最常见的就是登陆.新增.修改.删除.查询等操作,其他的操作都是在这个基础上进行演练.这里就先简单说明一下登陆的操作. 登录 对于登录而已,我们已经非常熟悉,下面是登录的测试用例的几种情况,如图 这里首先编写的是登录成功的测试用例 针对登录测试用例,我们一般的操作步骤如下…
Node.js 除了用来编写 WEB 应用之外,还可以用来编写 API 服务,我们在本文中会介绍编写 Node.js Rest API 的最佳实践,包括如何命名路由.进行认证和测试等话题,内容摘要如下: 正确使用 HTTP Method 和路由 正确的使用 HTTP 状态码 使用 HTTP Header 来发送元数据 为 REST API 挑选合适的框架 要对 API 进行黑盒测试 使用基于 JWT 的无状态的认证机制 学会使用条件请求机制 拥抱接口调用频率限制(Rate-Limiting) 编…
robotframework自动化系统:登录 robotframework对于编程能力比较弱的测试人员而言,真的是雪中送炭!我们可以使用robotframework根据之前完成的测试用例,一步步完善自动化测试.在整个测试过程而言,最常见的就是登陆.新增.修改.删除.查询等操作,其他的操作都是在这个基础上进行演练.这里就先简单说明一下登陆的操作. 登录 对于登录而已,我们已经非常熟悉,下面是登录的测试用例的几种情况,如图 这里首先编写的是登录成功的测试用例 针对登录测试用例,我们一般的操作步骤如下…