代码改变世界

随笔档案-2017年07月

java反射基础知识(五)反射应用实践

2017-07-25 00:41 by 清风软件测试开发, 513 阅读, 收藏,
摘要: 详解Java反射各种应用 Java除了给我们提供在编译期得到类的各种信息之外,还通过反射让我们可以在运行期间得到类的各种信息。通过反射获取类的信息,得到类的信息之后,就可以获取以下相关内容: Class对象 构造器 变量 方法 私有变量与私有方法 注解 泛型 数组 本文也将从上面几个方面来介绍Jav 阅读全文

java反射基础知识(四)反射应用实践

2017-07-24 00:26 by 清风软件测试开发, 464 阅读, 收藏,
摘要: 反射基础 p.s: 本文需要读者对反射机制的API有一定程度的了解,如果之前没有接触过的话,建议先看一下官方文档的Quick Start。 在应用反射机制之前,首先我们先来看一下如何获取一个对象对应的反射类Class,在Java中我们有三种方法可以获取一个对象的反射类。 通过getClass方法 在 阅读全文

java反射基础知识(三)

2017-07-23 23:59 by 清风软件测试开发, 215 阅读, 收藏,
摘要: 原文地址:http://tutorials.jenkov.com/java-reflection/index.html http://www.cnblogs.com/penghongwei/p/3299688.html *By Jakob Jenkov Java的反射机制使得它可以在运行时检查类、接 阅读全文

java反射基础知识(二)

2017-07-23 23:53 by 清风软件测试开发, 229 阅读, 收藏,
摘要: 1. 了解 Java 中的反射 1.1 什么是 Java 的反射 Java 反射是可以让我们在运行时获取类的函数、属性、父类、接口等 Class 内部信息的机制。通过反射还可以让我们在运行期实例化对象,调用方法,通过调用 get/set 方法获取变量的值,即使方法或属性是私有的的也可以通过反射的形式 阅读全文

java反射基础知识(一)

2017-07-23 23:49 by 清风软件测试开发, 368 阅读, 收藏,
摘要: 一、反射 反射:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Cla 阅读全文

java多线程总结(二)

2017-07-23 00:57 by 清风软件测试开发, 205 阅读, 收藏,
摘要: 线程一般有6个状态: 新建状态:NEW 可运行状态:RUNNABLE 休眠状态:TIMED_WAITING 等待状态:WAITING 阻塞状态:BLOCKED 终止状态“TERMINATED 当我们使用new创建线程之后,线程处于新建状态,当调用start方法之后,线程出于可运行状态,当线程需要获得 阅读全文

java多线程总结(一)

2017-07-22 23:26 by 清风软件测试开发, 183 阅读, 收藏,
摘要: 在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。 对于直接继承Thread的类来说,代码大致框架是: 1 2 3 4 5 6 7 8 9 10 11 12 class 类名 extends Thread{ 方法1; 方法2; … public vo 阅读全文

java多线程(六)

2017-07-20 00:08 by 清风软件测试开发, 273 阅读, 收藏,
摘要: 使用Runnable接口创建线程 Runnable接口 只有一个run()方法 Thread类实现了Runable接口 便于多个线程共享资源 Java不支持多继承,如果已经继承了某个基类,便要实现Runnable接口类生成多线程以实现Runnable的对象为参数建立新的线程 只有一个run()方法 阅读全文

java多线程(五)

2017-07-20 00:00 by 清风软件测试开发, 217 阅读, 收藏,
摘要: Java 多线程同步 锁机制与synchronized 打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调 阅读全文

java多线程(四)

2017-07-19 23:49 by 清风软件测试开发, 310 阅读, 收藏,
摘要: 使用synchronized锁实现线程同步 为什么要用线程同步 我们先来看下这段代码的运行结果: Java学习交流群:495273252 在多线程上篇博客已经介绍过了,JVM采用的是抢占式调度模型,当一个线程sleep的时候,其它线程会抢占CPU资源。如果发生在数据库中,就是“脏读”。synchro 阅读全文

Java多线程(三)

2017-07-19 00:44 by 清风软件测试开发, 276 阅读, 收藏,
摘要: 本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题。 一.一个典型的Java线程安全例子 1 public class ThreadTest { 2 3 public static void main(String[] args) { 4 Account account = new 阅读全文

Java多线程(二)

2017-07-19 00:42 by 清风软件测试开发, 315 阅读, 收藏,
摘要: 四.Java多线程的阻塞状态与线程控制 上文已经提到Java阻塞的几种具体类型。下面分别看下引起Java线程阻塞的主要方法。 1.join() join —— 让一个线程等待另一个线程完成才继续执行。如A线程线程执行体中调用B线程的join()方法,则A线程被阻塞,知道B线程执行完为止,A才能得以继 阅读全文

Java多线程(一)

2017-07-19 00:39 by 清风软件测试开发, 325 阅读, 收藏,
摘要: 多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的。 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括: Java线程具 阅读全文

Java多线程学习

2017-07-19 00:09 by 清风软件测试开发, 485 阅读, 收藏,
摘要: 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢?如果你觉得此文很简单,那推荐你看看Java并发包的的线程池(Java并发编程与技术内幕:线程池深入理解),或者看这个专栏:Java并发编程与技术内幕。你将 阅读全文

使用反射实现 webdriver page 类

2017-07-18 00:43 by 清风软件测试开发, 471 阅读, 收藏,
摘要: 这个类的目的是为了简化page类的实例化,只需要定义public page成员变量 然后再 启动driver后 通过反射实例化page 后面可以直接点出page实例 具体项目中继承改类 最后实例化一次PageF 就可以直接点出自己的page了 最后实例化一次PageF 就可以直接点出自己的page了 阅读全文

PageObjects 设计模式

2017-07-18 00:40 by 清风软件测试开发, 610 阅读, 收藏,
摘要: 什么是Page Objects(翻译为:页面对象?)… 简单的说,Page Objects是指UI界面上用于与用户进行交互的对象。它可以指整个页面,也可以指Page上的某个区域。Page Objects是你的test code的交互对象,是对实际UI的一种抽象模型化。通过Page Objects可以 阅读全文

Selenium WebDriver 工作原理

2017-07-18 00:39 by 清风软件测试开发, 860 阅读, 收藏,
摘要: WebDriver与之前Selenium的js注入实现不同:Selenium通过JS来定位元素处理元素(基本上所有元素都可以定位到)WebDriver通过WebDriver API定位处理元素:通过浏览器的native component来实现把WebDriver API的调用转化为浏览器的本地调用 阅读全文

Selenium2.0 Webdriver 随笔

2017-07-18 00:36 by 清风软件测试开发, 517 阅读, 收藏,
摘要: Webdriver can't action the element when the element is out of view 1. Scroll to the element use JavaScript to scroll the element to view [csharp] view 阅读全文

Selenium-Grid2 配置RemoteWebDriver

2017-07-18 00:24 by 清风软件测试开发, 1987 阅读, 收藏,
摘要: 为什么要使用Selenium Grid ? 分布式运行大规模的Test 能够通过一个中央点,很容易的运行不同OS上的不同browser 最小化对Grid的维护时间,并能充分利用虚拟设备 Selenium Grid 部署与启动 Hub :总控节点,连接调用Node。 Node: 负责执行Tests,调 阅读全文

Java多线程基础(二)

2017-07-18 00:19 by 清风软件测试开发, 678 阅读, 收藏,
摘要: 基本概念 进程:程序的执行过程。持有资源(共享内存、共享文件)和线程。 线程: - 是一个程序内部的顺序控制流。 - 它包含在进程之中,是系统中最小执行单元,同一个进程可以有多个线程。 - 线程共享进程的资源。 线程和进程对比: - 每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。 阅读全文

Java多线程基础(一)

2017-07-17 23:50 by 清风软件测试开发, 176 阅读, 收藏,
摘要: 线程与进程 1 线程:进程中负责程序执行的执行单元线程本身依靠程序进行运行线程是程序中的顺序控制流,只能使用分配给程序的资源和环境 2 进程:执行中的程序一个进程至少包含一个线程 3 单线程:程序中只存在一个线程,实际上主方法就是一个主线程 4 多线程:在一个程序中运行多个任务目的是更好地使用CPU 阅读全文

用例失败后截图

2017-07-16 01:42 by 清风软件测试开发, 766 阅读, 收藏,
摘要: Is there a good way to capture screenshots when running tests in parallel on the method level? In order to run tests in parallel, each individual test 阅读全文

select 自动选择 检查下拉列表

2017-07-16 01:40 by 清风软件测试开发, 1177 阅读, 收藏,
摘要: 下面我们来看一下selenium webdriver是如何来处理select下拉框的,以Apple注册页面为例。 https://appleid.apple.com/cgi-bin/WebObjects/MyAppleId.woa/wa/createAppleId [java] view plain 阅读全文

Selenium-IDE,Selenium-RC ,Selenium grid以及 Selenium-Core

2017-07-16 01:26 by 清风软件测试开发, 717 阅读, 收藏,
摘要: Selenium-IDE,Selenium-RC ,Selenium grid 以及 Selenium-Core Selenium 是一种 Web 应用的自动测试工具,通过模拟用户对 Web 页面的各种操作,可以精确重现软件测试人员编写的 Test Cases 步骤。Selenium 包含三个工具: 阅读全文

常用的断言总结

2017-07-16 01:21 by 清风软件测试开发, 1232 阅读, 收藏,
摘要: 断言常用的有: assertLocation(判断当前是在正确的页面)、 assertTitle(检查当前页面的title是否正确)、 assertValue(检查input的值, checkbox或radio,有值为”on”无为”off”)、 assertSelected(检查select的下拉菜 阅读全文

使用Webdriver执行JS

2017-07-16 01:19 by 清风软件测试开发, 3031 阅读, 收藏,
摘要: 首先,我们使用如下方式初始化driver: Java代码 WebDriver driver = new FirefoxDriver(); JavascriptExecutor jse = (JavascriptExecutor)driver; Java代码 Java代码 1.直接传入Javascri 阅读全文

By.Xpath快速定位页面元素常用方法

2017-07-16 01:07 by 清风软件测试开发, 3386 阅读, 收藏,
摘要: 先看一看xpath的语法 我们将在下面的例子中使用这个 XML 文档。 <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99 阅读全文

Selenium的PageFactory & PageObject 在大型项目中的应用

2017-07-16 00:45 by 清风软件测试开发, 591 阅读, 收藏,
摘要: 因为最近遇到的技术问题一直没找到可行的解决办法,一直在翻看selenium的源代码,之前写测试代码的时候就是拿来即用,写什么功能啊,就按手动的操作步骤去转换,近日看到一个文章,又去wiki上查了查,觉得写的不错就记录下来了。 在使用selenium做UI测试的时候,往往并不是页面的每个功能我们都要测 阅读全文

EventFiringWebDriver网页事件监听(二)

2017-07-16 00:37 by 清风软件测试开发, 990 阅读, 收藏,
摘要: 下面是我自己写的监听器 MyWebDriverListener 以上的监听器可以满足以下需求: 1.执行打开网页的操作室, 需要分别记录打开前和之后的URL地址. 2.在查找某个页面元素时候, 查找之前和之后都需要记录查找条件 3.在对页面进行单机操作室, 单击前需要记录元素的查找条件, 单机后记录 阅读全文

EventFiringWebDriver网页事件监听(一)

2017-07-16 00:07 by 清风软件测试开发, 3612 阅读, 收藏,
摘要: Selenium提供了很多的event listening functions来跟踪脚本执行过程中的events. How it works? 在注册了listener的webDriver里面,这些listener可以listen events。events可以是任何类型的event 或者 acti 阅读全文

容器、应用服务器和web服务器的区别

2017-07-07 00:34 by 清风软件测试开发, 4160 阅读, 收藏,
摘要: 什么是容器 servlet没main()方法。它们受控于另一个java应用,这个java应用称为容器(Container)Tomcat是这样的容器,Web服务器应用(Apache)得到一个指向servlet请求时,服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器。要由容 阅读全文

Java 面试总结 面试常问的关键字总结

2017-07-06 08:53 by 清风软件测试开发, 614 阅读, 收藏,
摘要: 文章出处http://www.cnblogs.com/IUbanana/p/7116520.html 关键字: final finalize finally throws和throw static关键字的作用 abstract 和 interface super 和 this synchronize 阅读全文

web性能测试基本性能指标

2017-07-05 00:04 by 清风软件测试开发, 1582 阅读, 收藏,
摘要: Web性能测试的部分概况一般来说,一个Web请求的处理包括以下步骤: (1)客户发送请求 (2)web server接受到请求,进行处理; (3)web server向DB获取数据; (4)webserver生成用户的object(页面),返回给用户。给客户发送请求开始到最后一个字节的时间称为响应时 阅读全文

nginx的access_log与error_log(三)

2017-07-04 23:54 by 清风软件测试开发, 599 阅读, 收藏,
摘要: 本篇介绍一下在nginx服务器的的两种日志的查看。 根据你找出来的地址,尽心vi编辑,进入nginx.conf文件进行查找路径 从而找到,我机子的两个日志存放地点: /var/logdata/nginx/access.log /var/logdata/nginx/error.log 访问日志分析 摘 阅读全文

Linux服务器access_log日志分析及配置详解(二)

2017-07-04 23:45 by 清风软件测试开发, 6095 阅读, 收藏,
摘要: 默认nginx / Linux日志在哪个文件夹? 一般在 xxx.xxx.xxxx.com/home/admin 路径下面的error.log文件和access.log文件error_log logs/error.log; #错误日志access_log logs/access.log; #访问日志 阅读全文

Linux服务器access_log日志分析及配置详解(一)

2017-07-04 23:38 by 清风软件测试开发, 17579 阅读, 收藏,
摘要: nginx的log日志分为access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息 error log 则是记录服务器错误日志 错误日志的形式如下: 1 2 201.158.69.116 - - [03/Jan/2013:2 阅读全文

网站或接口响应时间较长应该如何排查?

2017-07-04 23:36 by 清风软件测试开发, 8853 阅读, 收藏,
摘要: 假如你的网站打开很久,什么原因呢,先从最外层排查。浏览器按F12,看看Network哪个文件时间最长,这个是为了排查有可能css或者js插件引用了一些被国内墙住的地址,一直请求不到,所以时间很久。找到相关的地方注释,或者引用本地的。 如果文件引用什么的都没问题,看接口吧。 先自己写个脚本访问内网访问 阅读全文

线上性能问题初步排查方法

2017-07-03 00:32 by 清风软件测试开发, 593 阅读, 收藏,
摘要: 文章出处http://ifeve.com/find-bug-online/ 有时候有很多问题只有在线上或者预发环境才能发现,而线上又不能Debug,所以线上问题定位就只能看日志,系统状态和Dump线程,本文只是简单的介绍一些常用的工具,帮助定位线上问题。 问题定位 1: 首先使用TOP命令查看每个进 阅读全文

接口自动化测试框架逻辑层次分析

2017-07-03 00:29 by 清风软件测试开发, 3 阅读, 收藏,
该文被密码保护。 阅读全文

Mock Server 之 moco-runner 使用指南二

2017-07-03 00:15 by 清风软件测试开发, 6062 阅读, 收藏,
摘要: 文章出处http://blog.csdn.net/crisschan/article/details/53335234 moco-runner 安装配置 1、 下载jar 2、 编译运行 配置java环境变量 安装并配置Gradle(ref:http://www.gradle.org) 然后获取源代 阅读全文

Mock Server 之 moco-runner 使用指南一

2017-07-03 00:11 by 清风软件测试开发, 3157 阅读, 收藏,
摘要: 文章出处http://ju.outofmemory.cn/entry/96866 用以下命令可以启动moco-runner 服务 java -jar moco-runner-<version>-standalone.jar start -p 12306 -c ***.json 其中12306是任意指 阅读全文

性能测试流程图

2017-07-02 23:54 by 清风软件测试开发, 1157 阅读, 收藏,
摘要: 下午看了一个关于性能测试分析的视频,个人也觉得,对于性能测试,除非系统的培训,最好的方法就是在实践中不断锻炼,毕竟性能分析靠经验,不同的环境也可能出现不同的问题,努力做的便是不断积累基础点,慢慢提升这方面的知识水平。我将分成几次把视频的内容整理,以便随时查看。 下面是性能测试关心的结果图: 下面是性 阅读全文

linux怎样使用top命令查看系统状态

2017-07-02 23:52 by 清风软件测试开发, 425 阅读, 收藏,
摘要: Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。 Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可 阅读全文

接口测试之接口api文档的重要性

2017-07-02 23:14 by 清风软件测试开发, 4822 阅读, 收藏,
摘要: 接口文档的特点 接口文档,顾名思义就是对接口说明的文档。好的接口文档包含了对接口URL,参数以及输出内容的说明,我们参照接口文档就能编写出一个个的测试用例。而且接口文档详细的话,测试用例编写简单,不会遗漏。 如果一个接口文档没有写清楚,你从文档中分不出哪些儿参数是必需的,哪些儿是非必须的,而且没有参 阅读全文

浅析selenium的PageFactory模式 PageFactory初始化pageobject

2017-07-02 00:44 by 清风软件测试开发, 2313 阅读, 收藏,
摘要: 1.首先介绍FindBy类: For example, these two annotations point to the same element: and these two annotations point to the same list of elements: 用来分别查找单个元素和 阅读全文

Selenium之使用PageFactory初始化pageobject

2017-07-02 00:24 by 清风软件测试开发, 1519 阅读, 收藏,
摘要: 使用PageFactory初始化pageobject有什么作用呢,下面举个例子来说明 场景:使用selenium 实现自动打开www.baidu.com首页,然后在搜索框内输入“路易”,并点击查找 环境:win7,X86,IE浏览器,eclipse(安装testng插件) 步骤一:在eclipse中 阅读全文

Page Object设计模式实践

2017-07-02 00:20 by 清风软件测试开发, 725 阅读, 收藏,
摘要: Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性。 本项目以163邮箱登录为例,163登录脚本(非PO模式)请查看博客中的随笔信息。 1、项目 阅读全文

PageObject模式的层次结构

2017-07-02 00:16 by 清风软件测试开发, 1342 阅读, 收藏,
摘要: 做过UI自动化的都晓得,在做UI自动化时定位特别依赖页面,一旦页面发生变更就不得不跟着去修改页面定位。 在webdriver中,假设你想对一个元素定位操作,那么你可能会编写下面的代码: driver.findElement(By.id("ad")).click(); 发现问题: 你有10个地方对这个 阅读全文

Selenium Page Object(PO)设计模式

2017-07-02 00:02 by 清风软件测试开发, 1176 阅读, 收藏,
摘要: Webdriver UI自动化测试火了好几年了,具体怎么设计自动化测试测试工程,组织测试用例完全凭借着自己的经验和习惯。 最近忽然听说了Page Object(简称PO)火了起来,也有面试的时候被问到的,究竟这是个什么东东呢? 最近在网上搜了一下相关的知识,现在总结一下: “Page Object模 阅读全文

接口性能测试案例分析

2017-07-01 01:29 by 清风软件测试开发, 2 阅读, 收藏,
该文被密码保护。 阅读全文

linux查找日志技巧

2017-07-01 00:26 by 清风软件测试开发, 1200 阅读, 收藏,
摘要: 一般都是用SecureCRT来查询Linux的系统日志 先必须了解两个最基本的命令: tail -n 10 test.log 查询日志尾部最后10行的日志; tail -n +10 test.log 查询10行之后的所有日志; head -n 10 test.log 查询日志文件中的头10行日志; 阅读全文