自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 java中判断Object对象类型

Object param = params.get(i); if (param instanceof Integer) { int value = ((Integer) param).intValue(); prepStatement.setInt(i + 1, value); } else if (param instanceof String) { Stri

2017-12-10 13:41:16 4842

原创 java-String与Integer的相互转化

一、Integer转String//方法一:Integer类的静态方法toString()Integer a = 2;String str = Integer.toString(a)//方法二:Integer类的成员方法toString()Integer a = 2;String str = a.toString();//方法三:String类的静态方法valueOf()In

2017-12-10 13:37:53 183870 2

原创 HTML <label> 标签

实例带有两个输入字段和相关标记的简单 HTML 表单:请点击文本标记之一,就可以触发相关控件:MaleFemale

2017-12-10 13:35:06 472

原创 java中string与json互相转化

在Java中socket传输数据时,数据类型往往比较难选择。可能要考虑带宽、跨语言、版本的兼容等问题。比较常见的做法有两种:一是把对象包装成JSON字符串传输,二是采用java对象的序列化和反序列化。随着Google工具protoBuf的开源,protobuf也是个不错的选择。对JSON,Object Serialize,ProtoBuf 做个对比。1、string转json

2017-12-10 13:33:34 129142 2

原创 Java+Selenium3方法篇28-Actions-鼠标悬停

有些事件,Selenium没有直接提供方法去操作,像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单,第二种就是在搜索输入过程,选择自动补全的字段。关于鼠标悬停,selenium把这个方法放在了Actions.java文件中,先来看看鼠标悬停出现下拉菜单的情况。package lessons;    import java.

2017-12-10 11:31:04 906

原创 Python find()方法

描述Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。语法find()方法语法:str.find(str, beg=0, end=len(string))参数str -- 指定检索的字符串

2017-12-04 12:05:30 2201

原创 java静态方法不能调用非静态方法的原因

静态方法是属于类的,即静态方法是随着类的加载而加载的,在加载类时,程序就会为静态方法分配内存,而非静态方法是属于对象的,对象是在类加载之后创建的,也就是说静态方法先于对象存在,当你创建一个对象时,程序为其在堆中分配内存,一般是通过this指针来指向该对象。静态方法不依赖于对象的调用,它是通过‘类名.静态方法名’这样的方式来调用的。而对于非静态方法,在对象创建的时候程序才会为其分配内存,然后通过类的

2017-12-04 12:03:33 5376 1

原创 Selenium2中submit()方法的使用

在html中,关于form表单的部分,其中按钮类型就有button与submit,简单的来理解,button就是一个单纯的点击,submit就不是单纯的单击,它会涉及到前后台的交互,在selenium2的自动化测试中,点击使用的方法就是click(),同时有另外一个方法为submit(),启动对这二个方法经常很多人理解就出现问题,今天在在这里我以实际的案例说明下,click()方法

2017-12-04 12:00:57 2374

原创 Spring中bean之间的引用以及内部bean

在Spring中会有如下的几种情况:1.在当前容器中,(即在spring.xml这一个配置文件中),一个bean引用了另一个bean。使用  1》    1.1 构造器 2》ref作属性    -----2.1  -构造器注入:-----2.2-setter注入:3.引用父容器中

2017-12-04 11:57:16 2782

原创 java产生随机数的几种方式

一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。 二.在java.util这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机float、随机double,随机lon

2017-12-01 21:16:39 422

原创 Selenium Webdriver元素定位的八种常用方式

在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素。其中By类的常用定位方式共八种,现分别介绍如下。1. By.name()假设我们要测试的页面源码如下:button id="gbqfba" aria-label="Google Search" name="btnK" cl

2017-12-01 21:11:46 296

原创 PageFactory.initElements方法

PageFactory.initElements方法,配合页面对象模式,为每个页面创建隐式等待public static void initElements(ElementLocatorFactory factory, Object page) { final ElementLocatorFactory factoryRef = factory; initEleme

2017-12-01 21:00:31 2529

原创 Java charAt() 方法

今天复习一下 java charat方法charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。public char charAt(int index)参数index -- 字符的索引。返回值返回指定索引处的字符。实例public class Test {    public

2017-12-01 20:57:29 3614

原创 java生成随机字符串

java生成随机字符串的一种方式 下面介绍给大家private static int getRandom(int count) {      return (int) Math.round(Math.random() * (count));  } private static String string = "abcdefghijklmnop

2017-12-01 20:55:58 298

原创 java生成随机字符串uuid

GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随机数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID:package com.mytest;import java.

2017-12-01 20:53:17 3488

原创 random.nextInt()与Math.random()区别

1、来源random.nextInt() 为 java.util.Random类中的方法; Math.random() 为 java.lang.Math 类中的静态方法。2、用法产生0-n的伪随机数(伪随机数参看最后注解):// 两种生成对象方式:带种子和不带种子(两种方式的区别见注解)Random random = new Random();Int

2017-12-01 20:40:36 1328

原创 TestNG中如何执行测试

第一种直接执行:右键要执行的方法,  点Run As ->TestNG Test第二种:  通过testng.xml文件来执行. 把要执行的case, 放入testng.xml文件中。 右键点击testng.xml,   点Run As当然 对于自动化测试来讲  我个人倾向于第二种 第一种开发做单元测试需要可能更多一些testng.xml     

2017-11-20 23:41:41 1124

原创 TestNG的基本注解

注解描述@BeforeSuite注解的方法将只运行一次,运行所有测试前此套件中。@AfterSuite注解的方法将只运行一次此套件中的所有测试都运行之后。@BeforeClass注解的方法将只运行一次先行先试在当前类中的方法调用。@AfterClass注解的方法将只运行一次后已经运行在当前类中的所有测试方法。@Befo

2017-11-20 23:32:55 248

原创 TestNG介绍与安装

TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit,   功能都差不多, 只是功能更加强大,使用也更方便Java中已经有一个JUnit的测试框架了。  TestNG比JUnit功能强大的多。  测试人员一般用TestNG来写自动化测试。  开发人员一般用JUnit写单元测试。官方网站: http://testng.org/doc/index.html下

2017-11-20 23:30:12 379

原创 关于eclipse的TestNG的插件安装方法

java的TestNg自动化框架非常好,配合着selenium来说简直如虎添翼,下面给大家介绍eclipse怎么安装Testng框架,1. 在eclipse界面选择“Help”--“install New Software”,选择【Add】,在location中输入http://beust.com/eclipse,选择TestNG,点击【Next】,开始下载安装。安装完成后,选择“

2017-11-20 23:22:00 313

原创 java-selenium自动化测试page object、pageFactory 设计模式

selenium目前比较流行的设计模式就是page object,那么到底什么是page object呢,简单来说,就是把页面作为对象,在使用中传递页面对象,来使用页面对象中相应的成员或者方法,能更好的提现java的面向对象和封装特性。而使用时间长了会发现该模式也存在一点问题,那就是元素每次都要获取,并且获取元素与页面方法不分离,增加代码冗余度,用过springMVC框架的人都知道,注解方式的开发

2017-11-19 22:28:19 4886

原创 jdbc-(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)总结

jdbc 总结一下:说明:Statement stmt = con.createStatemen=(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);通用格式为:Statement stmt=con.createStatement(int type,int concurrency);我们在访问数据库的时候,在

2017-11-19 14:58:00 1892

原创 JDBC进行简单的增删改查,小结

前言:什么是JDBC  Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。它JDBC是面向关系型数据库的。  简单地说,就是用于执行SQL语句的一类Java API,通过JDBC使得我们可以直

2017-11-19 14:53:20 1058

原创 简单01背包java实现

最近看到了一道关于01背包问题的题,总之属于动态规划问题,大学时学过,现在再复习一遍。先贴上代码,本次讨论的是最简单01背包问题,不涉及其他贪心等方面算法。1 public class Knapsack { 2 private final int MIN = Integer.MIN_VALUE; 3 4 @org.junit.Test 5 public

2017-11-19 09:45:39 812

原创 selenium webdriver 你所不知道的quit 和close

我用selenium webdriver(以后简称SW) 驱动谷歌浏览器进行网页数据的获取。之所以用谷歌,主要是由于它是轻量级的,速度快。做数据获取,SW 是不错的选择。有人总是说,SW速度慢,比不上httpclient或者HtmlUnit,它们直接操作底层数据来的更加痛快。可是,不得不考虑的是,网络数据获取是“你情我愿”的事情。你本地的程序运行再快,服务器那边给你CUT!你照样玩不转。所

2017-11-19 09:38:33 1234

原创 获取安卓app的package和activity比较好用的方式

使用android自动化测试工具monkeyrunner启动应用时,需要填写被测程序的包名和启动的Activity,查看应用包名package和入口activity名称的方法:使用aapt//aapt是sdk自带的一个工具,在sdk\builds-tools\目录下1.以ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt dump badging E:\apk

2017-11-19 09:31:31 399

原创 JAVA字符串格式化-String.format()的使用

常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Lo

2017-11-19 09:17:18 371

原创 如何获取app 的包名和activity 名

获取方式有很多种,我给大家简单介绍几种比较常见的。我们在进行手机自动化测试时经常要知道app 的包名和Activiy 名称,好多同仁刚学习时不知从哪去找,其实有好多种方法可以获取这些值以下是针对无源码的情形,更适合于初学同仁。Aapt dumpbadging xxxx.apk 第一个框为包名第二个框为主Activity名如果取

2017-11-19 09:13:23 2051

原创 使用Dev Tools查看App的包名和所有Activity

在使用自动化测试工具如appium时,经常需要知道apk的各个activity的名称。这时我们可以使用Dev Tools来实现我们的目的。Dev Tools是安卓模拟器自带的一个开发调试工具,我们可以通过以下方式把该工具从模拟器移出来然后安装到我们的真实机器当中。安装步骤- adb -e pull /system/app/Development.apk ./Developm

2017-11-19 09:04:49 629

原创 如何获取一个Android App APK的所有Activity类名?

我目前找到了两种办法:方法1: 通过adb logcat$ adb logcatV/ActivityManager( 602): com.tencent.mm/.plugin.sns.ui.SnsTimeLineUI: task=TaskRecord{432b6e58 #3 A com.tencent.mm U 0}V/ActivityManager( 602): c

2017-11-19 09:00:16 4008

原创 算法-如何计算时间复杂度?

一、概念时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)比如:一般总运算次数表达式类似于这样:a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! =0时,时间复杂度就是O(2^n);a=0,bO(n^3);a,b=0,cO(n^2)依此类推eg:(1) for(i=1;i //循环了n*n次,当然是O(n^2) f

2017-11-19 08:50:47 982

原创 Selenium Webdriver Desired Capabilities

我们每一个的selenium测试都应该在指定的环境下运行,这个环境可以是web浏览器、移动设备、移动模拟器等等。那怎么来指定我们的selenium测试脚本运行环境呢?本次分享主要解决这个问题!!!在python版本的webdrive中,DesiredCapabilities类为我们提供了解决方案,通过这个类,我们能够配置webdriver在指定的环境执行我们的测试脚本。在python版本的w

2017-11-05 10:50:38 6697

原创 selenium(java)之RemoteWebDriver的基本使用

selenium提供了RemoteWebDriver,可以使执行测试的机器和发送测试命令的机器独立开来,比如A机器,是写测试代码的机器,可以发送测试命令给服务器,可以理解为客户端;B机器是执行测试代码的机器,可以理解为服务器端,A发送命令给B,然后再B上面执行测试,并返回结果给A。环境准备通过上面的描述,我们需要两台机器,一台作为客户端,一台作为服务器端。 服务器端

2017-11-05 10:43:13 5926

原创 UI自动化测试刷新页面方法

对于使用编程语言编写自动化测试时,java1.driver.navigate().refresh();2.driver.get(driver.getCurrentUrl());3.driver.navigate().to(driver.getCurrentUrl());4.driver.findElement(By.id("Contact-us")).sendKeys

2017-11-04 22:02:12 7018 1

原创 算法-Java实现归并排序

归并排序 (merge sort) 是一类与插入排序、交换排序、选择排序不同的另一种排序方法。归并的含义是将两个或两个以上的有序表合并成一个新的有序表。归并排序有多路归并排序、两路归并排序 , 可用于内排序,也可以用于外排序。这里仅对内排序的两路归并方法进行讨论。 1.两路归并排序算法思路①把 n 个记录看成 n 个长度为1的有序子表;②进行两两归并使记录关键字有序,得到 n/2

2017-11-04 21:44:30 260

原创 Appium移动 自动化测试-环境搭建(2)

二 、 安装Android开发环境如果你的环境是MAC那么可以直接跳过这一节。就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试脚本。那么移动端自动化测试,我们同样需要一部Android手机(手机需要链接电脑)或者Android模拟器。 安装java 环境众所周知,Android是由Java语言开发的,所以想开发Androi

2017-11-02 22:57:24 245

原创 Appium移动 自动化测试-环境搭建(1)

Appium 自动化测试是一门很重要的测试,现在没有自动化测试很不方便。我认为 web自动化测试的路线是这样的:编程语言基础--->测试框架--->webdriver API--->开发自动化测试项目; 移动自动化的测试的路线要长一些:编程语言基础--->测试框架--->android/IOS开发测试基础---->appium API ----->开发移动自动化项目。

2017-11-02 22:48:53 459

原创 robot framework 中对于有滚动条的页面中元素的处理

对于robot framework内 对滚动条方法1、定位元素的时候,只要元素在此页面上,即使元素在有滚动条的页面部分RF也能定位到,但是如果要操作元素则需要先使用Focus关键字,然后再进行操作方法2、可以通过 Execute Javascript     js="var q=document.documentElement.scrollTop=10000" 方法将滚动条移动到页

2017-11-02 22:42:42 5103 3

原创 appium使用问题

界面显示warn: Appium support for versions of node 使用Appium,启动node 服务时,如果看到下面这条警告信息。是因为安装APPIUM时,自带的nodejs的版本太低。把最新的nodejs安装成功后的文件 替换到appium安装文件下即可。 warn: Appium support for versions of node

2017-11-02 22:40:01 266

原创 解决Selenium 调用IEDriverServer打开IE浏览器

无论是selenium2(WebDriver)还是selenium2Library,如果想要调用ie浏览器,均需以下步骤。下载IEDriverServer。进入索引页,首先选择版本号,IEDriverServer的版本号和Selenium的版本号一定要一致,因为我选择的是selenium-2.53,所以IEDriverServer也选择的是2.53版本的。打开后的页面如下所示:

2017-10-28 22:42:34 26752 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除