1.Web自动化测试简介自动化基础:自动化用例编写.Selenium优势及原理.自动化环境搭建Selenium基础:常见8大元素定位(表格).常见元素处理.下拉框元素处理.不同窗口切换.元素进阶.元素等待需求到框架    需求分析-用例设计-基础脚本-登录/购物脚本重构-封装读取配置文件-数据驱动-监听截图-代码分层-框架实现-日志收集-报告生成-持续集成2.功能测试和自动化测试的区别    什么是功能测试:        满足需求找BUG    什么是自动化测试:        编写代码.脚本…
Selenium 名字的来源 在这里,我还想说一下关于 Selenium 名字的来源,很有意思的 : > : Selenium 的中文名为 “ 硒 ” ,是一种化学元素的名字,它 对 汞 ( Mercury )有天然的解毒作用,实验表明汞暴露水平越高,硒对汞毒性的拮抗作用越明显,所以说硒是汞的克星.大家应该知道 Mercury 测试工具系 列吧( QTP , QC , LR , WR... ),他们功能强大,但却价格不菲,大家对此又爱又恨!故 thoughtworks 特意把他们的 Web 开源…
selenium 学习整理 初学者,如果有不当得地方请指出,非常感谢. 准备事项: 1. Python 安装包 安装Python,并勾选添加环境变量. 安装完成后,打开dos窗口,输入python,看能否进入python命令行模式.如果不能就手动添加一下环境变量. 2. Chrome 安装包(其他浏览器也可以,Chrome支持得比较好:如果用IE得话,需要再设置--安全,关闭浏览器得保护模式,一个四个) 3. 浏览器版本对应得ChromeDriver.exe (去浏览器官网可以找到,必须和浏览器…
接上一篇SQL注入的学习笔记,上一篇我通过报错信息得知后台数据库是MySQL(这个信息非常重要~),然后通过SQL注入拿到了用户表的所有行,其实我们还可以通过MySQL的特性来拿更多的信息. 1. 获取当前数据库名称 输入:2' union select 1,database() ' 输出:数据库名称为dvwa database()是Mysql自带函数,用来获取当前数据库名称. 2.获取当前数据库所有表名 输入:1' union select 1,table_name from informat…
技术体系 基于代码的测试(Code-Based Testing) 基于协议的测试(Protocol-Based Testing) 基于界面的测试(GUI-Based Testing) 工作原理 基于代码 定义期望结果 调用被测对象 对比实际结果 难点:1.前置条件或环境的准备:2.被测代码又大量的异常 优点:1.容易实施:2.原理简单:3.不需要太复杂的编程能力 基于协议 并非直接调用代码,而是模拟用户发送数据包 典型的接口测试,偏黑盒 非常清楚协议的工作过程 能够利用编程语言来操作协议 经常用…
一.Django的入门 学习思路:先安装Django,然后在建立一个项目,接着运行这个项目,最后修改一下这个项目的数据,学习一下Django的原理之类的. 1.安装Django $pip install django==1.10.3 PS:为了保持和书中的Django版本一致,使用django==版本号来制定安装. 安装完成后,python的script的目录中会出现一个django-admin的可执行文件.该文件可用于建立django的项目. 2.建立一个项目 $django-admin st…
1.下载安装Firefox-selenium插件 需要下载插件可以联系,这里暂不提供下载地址. 2.集成Eclipse 需要下载jar包可以联系,这里暂不提供下载地址. 集成Eclipse非常简单,加载进去jar包就OK! 3.通过Selenium IDE 录制脚本     { 点这里就开始录制!} 以上操作是:百度输入hao123,点击搜索. 4.录制完毕导出selenium-java脚本 模板: import org.openqa.selenium.By; import org.openqa…
一.认证系统 使用django本身自带的认证系统 1.登录admin后台 1. 先建立一个管理员用户: > python manage.py creatsuperuser 输入用户名.邮箱和密码即可创建一个管理员用户. 2. 使用超级用户登录系统 管理员用户登录地址:localhost:8000/admin/.登录后可以创建一个用户 3. 引用Django的认证登录 ...... from django.contrib import auth ...... def login_action(re…
第一章   自动化测试前提及整体介绍 1-1功能测试和自动化测试的区别 1-2自动化测试流程有哪些 1-3自动化测试用例和手工用例的区别 1-4 自动化测试用例编写 1-5 selenium的优势以及工作原理 第二章   Selenium基础知识回顾 2-1 IDE及环境配置 2-2 HTML定位基础知识 2-3 元素定位 2-4常见元素的处理 2-5常见元素的处理-radio 2-6 常见元素的处理-check 2-7 常见元素的处理-button 2-8 常见元素的处理-form 2-9 常…
学习地址为: http://www.yiibook.com/book/agile_web_application_development_with_yii1.1_and_php5   1.建立应用程序:     YiiRoot/framework/yiic webapp demo   2.添加链接:      <a href="/demo/index.php?r=message/goodbye">Goodbye!</a>    <?php echo CHt…
原文地址:http://www.cnblogs.com/Bulid-For-NET/archive/2013/01/11/2856632.html 一直都对web.config不太清楚.这几天趁着项目不紧赶紧再恶补下,发现确实是有很多原来不明白的地方.特意记录下来,希望能与各位看官共同进步. 小弟自学笔记,有不对的地方还请大神指出来. 学习之前,我是抱着一个完全不知道的态度开始的.我想这个方法适用于很多地方,不是有个故事吗:杯子里的水倒掉才能装进去更多的水.所以有很多地方记录的都是挺基础的知识,…
一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了).我们花了很多时间做Web安全扫描以及修复,在检查和修复过程中,发现老系统的代码的不可维护性(再次说明整洁代码之道Clean Code的重要性)及安全性(同时也说明了Web安全的重要性). 修复之后,向Google提出了申诉,漫长的等待(1~2天对于公司的官网来说就是Money啊!)后Google放开…
学习html最重要的是坚持.细心.多动手.慕课网<HTML+CSS基础课程>的笔记. 1.<h1>网站标题</h1> 如:<h1>腾讯网</h1> 2.<em><strong><span><p>标签的用法:    <span><em>狗狗</em></span>    <strong>狗狗</strong><span>…
说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时junit eclipse开发 junit包下载: 下载 访问密码 c23d eclipse自己百度 3.实例练习. 具体步骤百度 4.遇见的问题 等待解决的 1).如下图,如何让变量pwds每次自动加1呢?假设pwds初始值为1,我想每次自动加1,向下图所示在我运行完${pwds}+1后我打印出来结…
最近由于工作需要开始学习基于python的web应用框架web.py.为了方便学习,将学习心得逐日记下以便日后复习. URL 模板: web.py提供了一套url处理的模板,在python工程中,只需要将网页结构配置为一个元组(tuple)即可.该元组在web.py中的解析模式为:url路径,对应处理url的类名.这里,类名必须和service代码中对应的类名一致.例如, urls = ( "/tasks/?", "signin", "/tasks/lis…
公司web项目终于要启动了,本以为django学习可以在实战中进行,结果最终使用了Drupal框架,好吧,那我们就PHP走起,买了本<细说PHP>,先跟着过一遍Web开发入门. HTTP协议 HTTP协议:所有的WWW文件都必须遵守HTTP协议,HTTP是客户端浏览器或者其他程序与Web服务器之间的应用层通信协议.HTTP协议建立在TCP/IP协议,也就是说,是一种可靠的传输协议,意味着两台设备在传输之前必须先建立可靠连接(握手),由客户端发起到服务器端的指定端口(默认为80)HTTP请求,并…
第一部分 Flask简介 前言:想熟练掌握一门web框架,为以后即将诞生的测试工具集做准备.为什么选择flask要做熟练掌握的一门框架,而不是其他的,最主要的原因是可以随意定制. 特别提醒:这本书的代码会提交在github,有基础的人可以直接看github的代码来学习flask.基础差还是建议买书来学习,书中会有对“为什么这么用?”的解答,可以增加对软件架构的深入理解 时间:阅读并操作完第一部分,做的总结 建议:文章中有不对的地方,希望你可以告诉我 一.梳理 第一部分是Flask框架的基础应用,…
今年有一个很重要的职业目标,就是好好学习活字格这个神器,争取在这两个月拿到活字格初级工程师的认证证书.给自己加个油,今天开始好好学习,好好做笔记. 第一步,下载安装 先去活字格官网:http://www.grapecity.com.cn/solutions/huozige 点上面那个下载按钮,就可以下到最新的安装包了,是个Zip文件,很快就下到本地了. 然后解压缩,装活字格设计器.还有个安装文件是服务器,那个是发布产品才需要的.我这新手才学呢,先不用装那个. 安装,界面很简洁,UI不错,我喜欢…
Selenium是一个强大的自动化测试工具,它的核心思想是通过JavaScript嵌入的方式直接操纵页面的DOM来模拟手工测试工作. Selenium IDE,一个Firefox插件,可以在Firefox中录制.编辑.回放测试用例,还可以把测试用例转换为可以通过Selenium RC运行的各种编程语言的版本 Selenium Remote Control是一个代理服务器,它可以把各种编程语言编写的Selenium测试程序发送到指定的浏览器上并运行 Selenium RC是一个代理服务器,它的内容…
0x00 概要 负载均衡(Load Balance)是集群技术(Cluster)的一种应用.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是Web负载均衡.根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询.IP负载均衡和CDN.其中IP负载均衡可以使用硬件设备或软件方式来实现. 0x01什么是web负载均衡 服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目的的不同,服务器集群可以分为: 高性能集群:将单个重负载的请求分散到多…
一,浏览器引擎    浏览器的内核引擎,基本上是四分天下: Trident: IE 以Trident 作为内核引擎; Gecko: Firefox 是基于 Gecko 开发; WebKit: Safari, Google Chrome,傲游3,猎豹浏览器,百度浏览器 opera浏览器 基于 Webkit 开发. Presto: Opera的内核,但由于市场选择问题,主要应用在手机平台--Opera mini 注:2013年2月Opera宣布转向WebKit引擎 注:2013年4月Opera宣布放…
收拾一下心情开始新的一周工作 继续是selenium的学习.配置成功后 由于所有操作都是建立在页面元素基础上的.所以下来就是学习定位元素 首先是基础的定位.就使用博客园首页搜索框为例: 下面是代码: #!/usr/bin/env python # -*- coding: utf_8 -*- from learn_webdriver import Webdriver from selenium import webdriver browser_chrome = webdriver.Chrome(W…
博主自己捣鼓的接口框架先到这里 等工作上正式开始使用再后续完善需求 还是继续学习python.学编程就直接动手写 就想看看python+selenium的组合 什么都不多说.先下载安装 博主这里已经安装了pip 所以直接cmd进入python路径下的Scripts文件目录下…
1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的浏览器,支持windows\linux\macos等各种平台. Selenium 脚本是用多种受支持的编程语言中的一种编写的 —— 目前可用的有 Java.Ruby 和 Python 驱动程序.这些脚本在浏览器之外的一个单独的进程中运行.驱动程序的任务是执行测试脚本,并通过与运行在浏览器中的 bro…
# coding=utf-8'''web游览器属性: 页面最大化 maximize_window() 获取当前页面地址 current_url 代码 page_source title title 后退 back() 前进 forward() 刷新 refresh() 当前的游览器 name 获取元素值 get_attribute() 清除输入框内容 clear()'''from selenium import webdriverfrom time import sleep dr=webdriv…
密码爆破简单来说,就是使用密码本(记录了若干密码),用工具(手工也可以,if you like...)一条条读取密码本中的密码后发送登录请求,遍历密码本的过程中可能试出真正的密码. 本文学习在已知登录名的情况下,使用Burp Suite破解密码的过程,对于一个初学者来说,Burp Suite使用起来比较恼火,所以我把操作步骤详细记录下来了. 还是DVWA,先设置security=low,密码输入错误和正确时,页面下方会给出相应提示:     破解过程如下: 1. 首先我们去网上下个密码本(git…
DVWA(Damn Vulnerable Web Application),是一个用PHP编写的,作为Web安全测试练习平台的合法环境(毕竟咱不能为了练习就随便找个网站去攻击...),也就是俗称的靶场. DVWA提供了常见的多种练习场景,包括SQL注入,XSS,暴力破解,命令行注入,CSRF等,对刚开始学习的童鞋来说完全够用.DVWA还很贴心的提供了从易到难的四种安全级别:Low,Medium,High,Impossible. 本文主要记录DVWA的搭建过程. 安装Wampserver 运行DV…
一.概述 1.在web应用中会经常遇到frame/iframe表单嵌套页面的应用 2.WebDriver只能在一个页面上对元素进行识别与定位 3.对于frame/iframe表单内嵌的页面上元素无法识别与定位 4.此时就需要切换到frame/iframe表单中 5.通过switch_to.frame()方法进行切换 6.方法说明 switch_to.parent_content() 跳出当前表单,回到上一级表单 switch_to.default_content() 跳到最外层的页面 可以通过f…
环境搭建前的准备: 1.到Python官网下载Python安装包:https://www.python.org/ 如果不能访问,可以试试下面的解决办法: a).安装VPN网络连接工具,推荐用Green VPN,我用的时候是免费的. b).百度搜索一下“Python官网无法访问解决办法”或“Python最新官方版本下载” 进入Python官网后,点击Downloads菜单,进入下载界面,截止本文写作时间,Python最新版本号为3.6.1,如果你是电脑是Windows操作系统,可以直接点击 "Do…
在执行自动化测试用例过程中,发现因为网络慢或其他原因导致driver.get(url) 时,页面一直在加载,页面没有加载完成就不会去继续执行下面的动作,但是实际上需要操作的元素已经加载出来了. 解决方法 第一步:使用 set_script_timeout() 设置等待最大时间. 第二步:到了最大等待时间后页面如果仍然没有加载完成,执行js代码, driver.execute_script("window.stop()") 停止页面加载,执行下面的自动化测试步骤. 代码如下: drive…