第一部分 Selenium简介 1.Selenium 组建 1.1 Selenium-IDE Selenium-IDC是开发Selenium测试案例的集成开发环境.它像FireFox插件一样的工作,支持开发/运行单个测试案例或者测试案例集.Selenium-IDE具备录制/回放功能,可以用脚本记录一系列用户操作,并在需要的时候回放. (目前Selenium-IDE只支持Firefox浏览器,但是由它创建的测试案例,可以通过Selenium—RC在其他浏览器上执行) 1.2 Selenium-RC…
第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1    初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 图形用户接口测试: 测试框架产生用户接口事件(例如键盘敲击,鼠标单击等),并捕获事件导致的图形用户接口          的改变,以便验证可见的程序响应是否正确. 1.1.3 自动化测试在一个长周期的迭代测试中,拥有许多优点: a.能后支持频繁的回归测试: b.能够在软件开发过程中尽早发现缺陷: c…
Selenium 命令,通常被称为Selenese,由一系列运行测试案例所需要的命令构成.按顺序排列这些命令就构成了测试脚本. 一. 验证颜面元素 1.Assertion或者Verification 断言会使测试案例执行失败(Fail),并终止当前案例的执行,而验证也会使测试案例执行失败(Fail),但允许测试案例继续执行. 2.verifyTextPresent verifyTextPresent 命令被用来验证特定的文本是存在于页面的某处,它携带一个参数(test pattern)用于验证.…
一. 简介 Selenium-RC可以适应更复杂的自动化测试需求,而不仅仅是简单的浏览器操作和线性执行.Selenium-RC能够充分利用编程语言来构建更复杂的自动化测试案例,例如读写文件.查询数据库和E-mail邮寄测试报告. 当测试案例遇到selenium-IDE不支持的逻辑时,你应该首先想到Selenium-RC.Selenium-IDE不支持下面逻辑: 条件判断: 循环: 日记记录和报告测试结果: 错误处理,特别是预料之外的错误: 数据库测试: 测试案例组合: 重复执行失败案例: 测试案…
1.简介 Selenium-IDE(集成开发环境)是一种开发selenium测试案例的工具.是一种易用的Firefox插件.你可以通过文字菜单,在当前页面上选择一个UI元素,接着挑选与UI元素相关的selenium命令. 1.1 安装IDE selenium-IDE下载地址:http://docs.seleniumhq.org/download/ Firefox浏览器打开,然后找到selenium版本号,再单击,之后Firefox浏览器会有一个安全提示,直接点击“Allow”,最后点击“Inst…
1.性能测试概念 性能测试目的: 评估系统能力,验证系统是否符合预期性能指标 识别系统中的弱点 系统调优,改进系统性能 检测长时间运行可能发生的问题,揭示隐含问题 验证稳定性.可靠性 常见性能指标 B/S架构(h5页面属于B/S架构):一般关注web服务器性能指标 平均每秒钟响应次数=总请求次数/秒数 平均每秒业务脚本迭代次数 成功的请求 失败的请求 成功的点击次数 失败的点击次数 每秒点击次数 每秒成功的点击次数 每秒失败的点击次数 尝试连接数 吞吐量 C/S架构(native属于C/S架构)…
书评: 1.这本是介绍性能测试工具Jmeter的书籍,维度还够,但是粒度太粗. 2.对于想快速了解JMeter的使用和工具的原件使用,还是有一定的参考价值. 3.实际上,这本书可用来快速入门,掌握和了解JMeter的整体架构和基础原件工作方式.其他的使用和实现细节可参考标准的JMeter文档.…
原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ArcGIS for Desktop是ArcGIS产品线上的桌面端软件产品,为GIS专业人士提供的信息制作和使用的工具.利用ArcGIS for Desktop,你可以实现任何从简单到复杂的GIS任务,包括制图,地理分析,数据编辑,数据管理,可视化和空间处理等.它可以作为三个独立的软件产品购买,每个…
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以跳过本章. 本章将带你漫游使用实体框架建模的基本实例,建模是实体框架的核心特性,同时也是区别实体框架和微软早期的数据访问平台的特性.一旦建好模,你就可以面向模型编写代码,而不用面向关系数据库中的行和列. 本章以创建一个简单概念模型的实例开始,然后让实体框架创建底层的数据库,剩下的实例,将向你展示,如…
前言 继上篇环境篇后,本篇主要对TestNG进行介绍,给出最最基础的两个实例,通过本文后,学会并掌握TestNG测试用例的编写与运行,以及生成美化后的报告.下一篇为HTTP接口实战(国家气象局接口自动化测试) 目录 二.TestNG简介与基础实例 2.1 TestNG与JUnit对比 2.1.1 JUnit缺点 2.1.2 TestNG是什么? 2.1.3 TestNG的特点 2.2 TestNG注解与基础实例 2.2.1 注解 2.2.2 基础实例1 2.2.2.1 新建JAVA工程 2.2.…
第二章 Unicode简介 1,Windows通过双字节技术DBCS解决这个问题,代码页定义不同的字符集,称为ANSI字符集,比如日文为CP932,韩文为CP949,繁体中文为CP950,简体中文为CP936 2,Unicode使用双字节,并且为一个字符集,解决二义性的问题 3,Unicode宽字符使用wchar_t声明,为两字节,并且字符或者字符串常量前应该加L 4,为了统一源代码中不同字符集的字符处理函数,使用头文件tchar.h 如:_tcslen,_tprintf,以及__T(),_T(…
这里演示一下使用pyautogui替代selenium进行web自动化测试,并不建议使用pyautogui进行web自动化测试,因为元素的ui一旦有长宽变化,或者风格的变化,执行时就会发生异常,仅当学习使用 以使用selenium打开百度,并在输入框输入“只宅不技术”,之后点击搜索为例 代码如下: #coding=utf-8 from selenium import webdriver import time #打开火狐浏览器 driver=webdriver.Firefox() #打开百度 d…
第二章.自动化测试是什么?(What) 自动化测试是相对于手工测试而言:通过脚本自动去执行测试用例,从而代替人完成测试工作. 自动化测试相对手工测试优缺点 测试方式 优点 缺点 手工测试 1,完整的对所有业务场景进行覆盖 1,功能较大时需要更多的时间去覆盖所有业务场景 2,测试中更加灵活 2,无法实现快速重复性测试 3,能够进行探索性测试 3,回归测试中,测试人员会有强烈的心理疲劳 4,每次都要写新的测试用例 4,无法实现持续集成 5,测试用例的执行时间长 6,不需要懂编程代码 测试方式 优点…
http://book.51cto.com/art/201204/327301.htm…
接口自动化测试 – Java+TestNG 测试 Restful Web Service 关键词:基于Rest的Web服务,接口自动化测试,数据驱动测试,测试Restful Web Service, 数据分离,Java+Maven+TestNG 本文主要介绍如何用Java针对Restful web service 做接口自动化测试(数据驱动),相比UI自动化,接口自动化稳定性可靠性高,实施难易程度低,做自动化性价比高.所用到的工具或类库有 TestNG, Apache POI, Jayway r…
1.1 初识性能测试 概念:负载测试&压力测试. 目的:评估系统的能力,识别系统弱点,系统调优,检测问题,验证稳定性. 分类:负载测试,压力测试,容量测试 B/S指标: Avg Rps,平均每秒钟的响应次数=总请求数/秒数 Avg time to last byte per terstion(mstes),平均每秒业务脚本的迭代次数 Successful Rounds,成功的请求 Failed Rounds,失败的请求 Successful Hits,成功的点击次数 Failed Hits,失败…
一.安装selenium Windows命令行(cmd)输入pip install selenium(无须指定版本默认最新)或 pip install selenium==3.141.0(可指定版本) 即可自动安装selenium. 安装完成后,输入pip show selenium 或 pip list  可查看当前的selenium版本,参考下图. 二.安装浏览器驱动(Chromedriver 谷歌和谷歌驱动版本) 浏览器驱动 是和 浏览器对应的. 不同的浏览器 需要选择不同的浏览器驱动.…
特点: 支持多种服务类型进行测试,包括: Web-Http,HTTPS SOAP Database via JDBC LDAP JMS Mail-POP3 & IMAP 支持录制回放方式获取脚本 具备高可移植性 采用多线程框架 精心设计的GUI支持高速用户操作和计时 支持缓存和离线的方式分析.回放测试结果 具备高可扩展性 常用术语 采样器,用来发出请求等待响应. 逻辑控制器,用来控制测试脚本的执行顺序,以便可以按照用户期望的顺序和逻辑进行 监听器,用来收集测试结果信息,并以用户制定的方式展示 配…
@python基础 零基础就是个幌子,因为零基础什么都干不了. 如果零基础随随便便就把自动化做起来,那自动化测试就不值钱了:因为这种简单的事情,谁都可以做到. 本课程从零基础出发,补足基础后,不仅仅学到了自动化测试,还能学会python这门语言: 第一节 计算机基础 计算机分为软件和硬件两部分. 硬件主要由:运算器,控制器,内存,输入设备和输出设备组成. 软件分为系统软件和应用软件: 软件主要功能是处理文件,图片,数据以及各种计算任务等等. 软件是由计算机编程语言编写而成的,专门为人类意愿工作.…
DeepLab是一款基于Matlab面向对象编程的深度学习工具箱,所以了解Matlab面向对象编程的特点是必要的.笔者在做Matlab面向对象编程的时候发现无论是互联网上还是书店里卖的各式Matlab编程书上都对Matlab面向对象所提甚少甚至没提.因此在DeepLab的使用说明书中专门添加Matlab面向对象编程基础是有必要的.第一节 Matlab面向对象大体结构代码清单2.1.1 classdef className<handle & superclass1 & supercla…
2-5 使用Code First建模自引用关系 问题 你的数据库中一张自引用的表,你想使用Code First 将其建模成一个包含自关联的实体. 解决方案 我们假设你有如图2-14所示的数据库关系图的自引用表. 图2-14 一张自引用表 按下面的步骤为这张自引用的表及关系建模: 1.在项目中创建一个继承至DbContext上下文的类EF6RecipesContext. 2.使用代码清单2-5创建一个PictureCategoryPOCO(简单CLR对象)实体. 代码单清2-5 创建一个POCO实…
2-6 拆分实体到多表 问题 你有两张或是更多的表,他们共享一样的主键,你想将他们映射到一个单独的实体. 解决方案 让我们用图2-15所示的两张表来演示这种情况. 图 2-15,两张表,Prodeuct 和ProductWebInfo,拥有共同的主键 按下面的步骤为这两张表建模一个单独实体: 1.在你的项目中,创建一个继承至DbContext的上下文对象EF6RecipesContext: 2.使用代码清单2-8创建一个POCO实体Product: 代码清单2-8:创建一个POCO实体Produ…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 2-10 Table per Hierarchy Inheritance 建模 问题 你有这样一张数据库表,有一类型或鉴别列.它能判断行中的数据在你的应用中代表的是什么.你想使用table per hierarchy(TPH)继承映射建模. 解决方案 让我们假设你有如图2-20中的表(译注:总感觉作者使用的图,跟实际描述对不上,比如下图应该是实体模型图),Employee表包含hourly…
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 1. Number(数字) number类型用来专门存储数字数据,他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象 Python支持四种不同的数字类型: int(有符号整型) l…
不知道对EF感兴趣的并不多,还是我翻译有问题(如果是,恳请你指正),通过前几篇的反馈,阅读这个系列的人不多.不要这事到最后成了吃不讨好的事就麻烦了,废话就到这里,直奔主题. 2-2 从已存在的数据库创建模型 问题 有一个存在的数据库,它拥有表.也许还有视图.外键.你想通过它来创建一个模型. 解决方案 让我们设想,你拥有一个描述诗人(Poet)以及他们的诗(Poem),还有他们之间关系的数据库.如图2-7所示. 图2-7 一个关于诗人及他们的诗的简单数据库 从上图可以看出,一个诗人可能是一首或多首…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 2-8 Table per Type Inheritance 建模 问题 你有这样一张数据库表,它包含一些额外的信息,这些信息来到一张公共的表.你想使用Table per  Type Inheritance(TPT)继承映射建模. 解决方案 假设你有两张表与一张公共的表密切相关,如图2-17所示,Businiss表与eCommerce表.Retail表有1:0...1关系.最关键的是,eCo…
/*------------------------------------------------------------- screensize.cpp -- Displays screen size in a message box (c) Seamanj, 2013/6/26 -------------------------------------------------------------*/ #include <windows.h> #include <tchar.h&…
2.1 标识符 简单的说,凡是程序员自己命名的部分都可以称为标识符. 即给类.变量.方法.包等命名的字符序列,称为标识符. 1.标识符的命名规则 (1)Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$ (2)不能使用Java的关键字(包含保留字)和特殊值 (3)数字不能开头 (4)不能包含空格 (5)严格区分大小写 2.标识符的命名规范 (1)见名知意 (2)类名.接口名等:每个单词的首字母都大写,形式:XxxYyyZzz, 例如:HelloWorld,Strin…
2-3 无载荷(with NO Payload)的多对多关系建模 问题 在数据库中,存在通过一张链接表来关联两张表的情况.链接表仅包含连接两张表形成多对多关系的外键,你需要把这两张多对多关系的表导入到实体框架模型中. 解决方案 我们设想,你数据库中的表与图2-10一样. 图2-10 艺术家和专辑多对多关系 按下面的步骤将这些表和关系导入到模型中: 1.右键你的项目,选择Add(增加) ➤New Item(新建项),然后选择Visual C#条目下的Data模板下的ADO.NET Entity D…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 2-11 两实体间Is-a和Has-a关系建模 问题 你有两张有Is-a和Has-a关系的表,你想将他们建模成两实体间的Is-a和Has-a关系. 解决方案 假设你在数据库中,有两张描述风景名胜公园和公园地址的表,Loacation和Part.在应用中,park是location的简单(simply)类型(译注:从上下文看应该是指子类).另外,一个park有一个拥有邮寄地址的管理办公室,这个…