- 博客(110)
- 资源 (13)
- 收藏
- 关注
原创 不改本地HOSTS,Python的requests库如何指定IP请求?
自动化接口过程中,偶尔需要指定服务器ip的情况,可以这样实现接口url: http://www.example.com/a?user=abcHTTP请求,直接修改URL中域名为IP,再配置下Host头就行了;url = http://1.2.3.4/a?user=abcheaders = {"Host": "www.example.com"}requests.get(url,headers=headers)HTTPS请求,参考HTTP,但是要禁用证书验证 verify:Fals
2022-03-24 14:39:06
5837
原创 图形脚本语言sikuli的安装及Demo
什么是Sikuli? Sikuli脚本自动化,你在屏幕上看到的任何东西。它使用图像识别,识别和控制GUI组件。这是有用的,当有一个GUI的内部或源代码的访问是不容易的。 Sikuli(在墨西哥维乔印第安人的语言里是”上帝之眼”的意思)是由美国麻省理工学院开发的一种最新编程技术,使得编程人员可以使用截图替代代码,从而简化代码的编写流程。从它研究方向上看,是一种编程技术,但是该技术还可以用于进...
2018-02-26 11:16:32
643
原创 Android UiAutomator快速调试
1.导入UiAutomatorHelper.java下载地址:点击打开链接2.在测试类中添加主函数 public static void main(String[] args){ String jarName,testClass, testName,androidId; jarName="test1";//生成的jar包名 testClass="com.li.test1";
2015-12-16 14:31:09
2063
原创 Android UiAutomator编译与运行测试代码
测试用例已经编写好了,那么怎么编译和运行呢?各位接着往下看吧~~1.创建build文件cmd下运行以下代码进行build文件创建android create uitest-project -n -t 1 -p -n指的是jar包名字-t指的是你电脑中的第几个SDK,可以通过android list查看-p指的是你的工作空间的路径如我们的例子可以直接运行,运行成功之后会显示在
2015-12-16 13:15:53
3471
原创 Android UiAutomator第一个测试工程
环境已经在上一篇文章中给大家介绍过了,大家是不是已经跃跃欲试想开始你的第一个测试工程了呢?那我们开始吧!!首先介绍一下新建工程步骤:1 .打开Eclipse,这个就不过多介绍了,你懂得~2 .新建一个java工程,比如我们新建工程叫做Demo1,然后直接点击完成3.增加buildpath,将你的SDK/platform下的与你的手机系统版本对应的jar包导入到你的工
2015-12-16 11:25:59
834
原创 Android UiAutomator环境配置
好久都没写过博客了,最近在学习Android UiAutomator,就算是做个笔记吧~嘻嘻……1.首先我们需要下载JDK及ADT,下载地址如下:下载JDK:(javadevelopment kit—java开发包)官方下载地址择 :http://www.oracle.com/technetwork/java/javase/downloads下载ADT:(AndroidDeve
2015-12-16 10:44:31
1240
转载 结构化编程
面向对象不仅能够让程序的组织结构更清晰,对于程序员而言,面向对象也有助于编程任务的结构化。 随着软件所具有的功能越来越强大,程序也随之变得越来越复杂,整个编程过程的管理也越来越困难。越来越多的组件需要协调,越来越多的程序员需要协同工作。面向对象编程具有处理这种复杂关系的优势,这不仅表现在代码的设计上也表现在对整个工作的组织方面。本部分包含如下内容:协作面向对象的项目的组织结
2012-04-29 21:30:27
2461
转载 模型和框架
对象是状态和行为的组合,所以和现实世界的物体很相似。因为这种相似性,设计一个面向对象的程序非常类似于构造一个真实的事物——它们能做什么的,怎样去做,如何和其它的事物联系。当您设计一个面向对象的程序时,实际上,您是把一些事情在计算机上的模拟化放在了一起。对象网络看上去很像真实系统的模型化,其行为也象。面向对象程序也可以被看作一个模型,尽管在现在世界中并没有与之相应的物体。模型中的每个
2012-04-29 21:29:19
2158
转载 聚合和分解
面向对象程序设计的另外一部分工作就是设计类之间关系——是通过定义子类而对现有的类进行扩展还是定义一个独立的新类。这个问题可以通过下面这个比较极端的例子来阐述:假设有一个只有一个对象的程序。既然该程序仅有一个对象,那么该对象只能自己给自己发送消息。该程序谈不上什么多态,也不会用上各种类设计的模式,更不会有相互连接的对象网络。程序的真正结构被隐藏于类的定义中。虽然该程序是使用面向对象语言编写,但是
2012-04-29 21:28:51
1291
转载 插座变量的连接
面向对象编程的部分任务就是处理对象构成的网络结构。这种网络结构并不一定是静止的,它可能随着程序的运行而相应的发生改变。对象间的关系也可能根据需而即时产生,对象所扮演的角色也可能随时改变。然后,这一切都会有个规律,就和角色都会有个剧本一样。有些对象间的连接可能非常短暂。例如,一条消息中包含一个参数,这个参数指向的对象是消息的发送者。对象的接收者可能会发送一条响应消息给参数标识的对象,该响应消
2012-04-29 21:28:23
1588
转载 程序的组织结构
面向对象程序有两种类型的组织结构。一种是在类的继承体系在体现。另一种是在程序运行时由对象间的消息传递来呈现。这些消息揭示了对象间互相连接的网状结构。类继承体系阐述了对象是怎么根据类型相关联的。例如,在用水模型的程序中,水龙头和管道可能是同一类型的对象,区别仅在于水龙头有开关阀门而管道可以和其它管道互相连接。这种相似性可以在设计中通过使水龙头和管道都由一个公共类派生来体现。对象之间的连接网络
2012-04-29 21:27:15
1667
转载 动态机制
在编程历史中的某一个时期,一个程序会使用多少内存是在源代码编译和链接的时候就决定了的,既不会增加,也不会缩小。现在看来,很明显,这是一个严重的局限因素。它不仅仅限制了程序的结构,程序的功能,还限制了程序的设计和编程技术的进步。动态分配内存的函数(例如malloc)的出现使这些限制不再存在。之所有成为限制因素是因为程序只能根据编译期和链接期从程序员的源代码中获得的信息做出决定,而不是
2012-04-29 21:26:41
2346
转载 继承
解释一个新的东西最好的方法是从旧的东西开始。如果您的听众已经知道什么是“帆船”对您解释什么是“斯库纳纵帆船”非常有帮助。如果您想解释一下拨弦键琴是怎么工作的,最好的情况是您的听众已经知道钢琴的内部构造,或者看见过吉他是怎么演奏的,至少,熟悉某种乐器。定义一个新类也一样,如果能够从现存的类开始,一切都会更加简单。为此,面向对象的编程语言允许您基于一个现存的类定义一个新类。现存的类被称
2012-04-29 21:24:52
1231
转载 抽象机制
到目前为止,对象是对问题进行抽象的单位和程序中互相作用的角色。当然,这一切都需要编程语言的支持。其中最重要的两个机制是:封装和多态。封装保证了类的实现和接口分离,多态赋予了每个类自己的名字空间。下面的章节将对这两种机制进行具体介绍。本节包括如下内容:封装 多态封装为了保证在对问题的抽象中能够进行有效的设计,您必须从通用的接口考虑问题而不用考虑这些接口的实现细
2012-04-29 21:23:20
1565
转载 类
同一程序中可以有同一类型的多个对象。例如,在用水模型的程序中可能有多个水龙头对象,管道对象,装置对象以及用户对象。 同一类型的对象我们认为是同一个类的实例。同一个类的实例具有同样的方法,同样的实例变量(实例变量的值可能不同),并且共享同一份类的定义。从这一点上,类和C中的结构体类似,都是定义了一种类型。例如,下面的声明struct key {char *word;int count;
2012-04-29 21:22:36
928
转载 消息隐喻
每种编程模式都会有自己的术语表和隐喻。面向对象编程也不例外。隐喻能够让您从更专业的角度来理解程序。例如,有种趋势是将对象看做一个个的角色,并赋予它们类似于人的能力。试想一下,一个对象将”决定“在某种情况做什么事情,”询问“其他的对象来获得信息,”自我检查“来获得需要的信息,”代理“其他的对象,”管理“一个进程,这听起来似乎很有趣。这些隐喻让您认为对象是在主动"使用“它们的方法,而不
2012-04-29 21:21:09
1064
转载 对象模型
面向对象编程就是在比较高的层次上把状态和行为——数据和对数据的操作——组合到对象中,并且提供了编程语言上的支持。对象就是一组相关的函数和为这些函数服务的数据的集合。这些函数被称为对象的方法, 数据被称为对象的实例变量。对象方法封装了对实例变量的访问,实例变量在对象之外是不可见的,如图3-1所示:图 3-1 对象如果您曾经应付过一些比较棘手的编程问题,您的程序中可能已经有类似的设
2012-04-29 21:20:40
1101
转载 面向对象编程技术
在现实生活中,我们必须弄明白我们所面对的大量的事实以及观念。为此,我们需要从表面细节中抽象出其内在逻辑,发现事物的本质。抽象法可以帮助我们揭示事物的因果,结构和表现形式,区分主要和次要。面向对象编程提供了一种对您所操作的数据进行抽象的方法—而且,面向对象编程将数据和对数据的操作组合到一起,从而使数据具有了行为。本部分包含如下内容:数据和操作传统的编程语言通常划分成两个部
2012-04-29 21:18:38
1590
转载 为何是Objective-C?
Cocoa框架选择了Objective-C作为开发语言有许多方面的原因。首先,也是最主要的原因,它是一个面向对象 的语言。Cocoa框架中的很多功能只能通过面向对象的技术来呈现,本文档将对Cocoa框架的功能进行具体阐述并介绍怎样使用它们。其次,是标准C语言的一个超集,现存的C程序无需重新开发就能够使用Cocoa软件框架,并且您可以在Objective-C中使用C的所有特性。您可以选择什么时候采用
2012-04-29 21:15:23
1136
转载 基于Objective-C的面向对象编程
介绍本部分包含如下内容:谁应该阅读本文档 本文档的组织结构 参考 面向对象的开发方法使得程序开发更加直观、快捷,程序更容易被重构、理解。大多数面向对象开发环境至少由以下三个部分组成:对象库 开发工具集 支持面向对象的编程语言和相应的类库 Objective-C 是一种设计用来支持面向对象开发的简洁的计算机语言,它是标准C语言的一个很小但是很强大的
2012-04-29 21:14:36
1010
原创 优快云高校俱乐部成功举办“春之魅”舞会!
优快云高校俱乐部于2012年4月11日星期三晚,在南操场举办了“春之魅舞会”。 在春天里,万物生机勃勃,我们也是一样充满活力,展示我们的“春季年华”,为我们的大学生活增添了欢乐和精彩。为同学们提供一个展现自我舞台,创造一个轻松愉快的交流环境。让大家可以在快乐中交流,在交流中学习,在学习中成长。 为了舞会的圆满的成功,为了同学们尽兴,我们在舞会前,去学跳舞,进行一遍一遍的排练...过程
2012-04-12 15:05:29
1207
原创 河软优快云高校俱乐部举办“我的程序员之路”讲座
2012年3月20日星期二,我们有幸请来了优快云李伟李老师,为我们讲解高校的大学生如何走自己自己的程序员之路,并现场解答同学的疑惑,让每个同学对自己的程序员之路,不在感到困惑!首先,由高校俱乐部主席李红健给大家做开场词!参加讲座的老师认真听讲的同学们认真听讲的陈红军老师李伟老师的即兴演讲,大力支持csdn高校俱乐部的活动,并希望办成像小米之家那样。演讲中李伟老
2012-03-27 09:12:43
1342
原创 IPhone开发之C基础(三)
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。指针的类型 从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型: (1)int*ptr;
2012-03-06 21:27:51
813
原创 IPhone开发之C基础(二)
今天我们主要说的还是C的基础,这次我们主要由代码来具体说明。首先来说说最头疼的问题a=i++与a=++i的区别,a=i++是先赋值再自增,a=++i是先自增再赋值 int i = 5; int b = i++; int c = i; printf("b = %d\n",b); printf("c = %d\n",c);
2012-03-06 21:25:42
783
原创 IPhone开发之C基础(一)
学习iPhone,首先在开发iPhone应用之前我们要掌握C,C是最基础的。虽然我在最早接触开发前接触的不是C而是C++,但是我感觉它们有很多相同的地方。我一位老师说过:只要你弄透一门语言,那么你想掌握别热语言就是轻而易举的事。首先我们先应该掌握一下C这门语言。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972
2012-03-06 21:22:13
958
原创 Android应用开发之软件打包与发布,生成私钥签名你的软件
程序打包(包括密钥生成)的步骤: 那到底我该如何打包、发布自己开发的APP,怎样将我的APP放到网上工别人下载,怎样保证我的APP安全及版权问题呢???... 第一步,在Eclipse中选择需要打包的项目,然后右键--选择Export,会弹出一个打包的提示框,如下图所示。按Next之后,会继续出现一个提示框,这里你可以选择自己需要打包的项目(默认是刚才选中的)
2012-02-29 20:37:03
2368
原创 Android应用开发之编码实现 软件界面
删掉了main.xml文件首先使用线性布局LinearLayout linearLayout=new LinearLayout(this);设置布局方向:linearLayout.setOrientation(LinearLayout.VERTICAL);布局的参数:填充整个窗口的宽和高LinearLayout.LayoutParams layoutParams=new L
2012-02-29 20:25:29
773
原创 Android应用开发之实现图片的拖拽显示
OnTouchListener OnTouchListener接口是用来处理手机屏幕事件的监听接口,当为View的范围内触摸按下、抬起或滑动等动作时都会触发该事件。该接口中的监听方法签名如下。Java代码:public boolean onTouch(View v, MotionEvent event) 参数v:参数v同样为事件源对象。 参数event:
2012-02-29 19:22:27
1420
原创 Android应用开发之主题
android中主题也是用于为应用定义显示风格,它的定义和样式的定义相同,如下: true <!– 没标题 à ?android:windowNoTitle 上面“?android:windowNoTitle”中的问号用于引用在当前主题中定义过的资源的值。下面代码显示在AndroidManifest.xml中如何为应
2012-02-29 19:16:18
709
原创 Android应用开发之样式
android中的样式和CSS样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个view控件属性的集合。如:需要定义字体的颜色和大小。 在CSS中是这样定义的:.itcast{COLOR:#0000CC;font-size:18px;}可以像这样使用上面的css样式:传智播客在Android中可以这样定义样式:在res/values/st
2012-02-29 19:09:07
855
原创 Android应用开发之国际化
布局 main.xml<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <ImageButton android:layout_width="
2012-02-29 17:59:13
637
原创 Android应用开发之手势识别
第一步:建立手势库使用SDK自带例子GestureBuilder建立手势库(位置:android-sdk-windows\samples\android-8\GestureBuilder)。使用GestureBuilder之前,你需要恢复其到开发环境,然后进行编绎并部署到手机上。此时,就可以使用GestureBuilder建立手势库,生成的手势库文件在SCDard上,默认文件名称为:gestu
2012-02-29 17:51:24
2071
原创 Android应用开发之视频播放器
资源:ImageButton所用图片4张Strings:MyVideoPlayer 视频文件 找不到Sd卡 找不到视频文件布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_paren
2012-02-29 17:33:07
1839
原创 Android应用开发之SurfaceView
SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。 surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后面。surfaceview提供了一个可见区域,只有在这个可见区域内 的surface部分内容才可见,可见区
2012-02-29 17:27:09
1120
1
原创 Android应用开发之音乐播放器
资源MusicPlayer 播放 暂停 继续 重播 停止 音乐 文件不存在 SDCard不存在布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
2012-02-29 17:17:05
964
原创 Android应用开发之利用服务实现电话监听
Service概述 Service是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过来声明。可以通过contect.startservice和contect.bindserverice来启动。 Service和其他的应用组件一样,运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作,需要在其子线程中实现。
2012-02-29 15:45:36
1048
原创 Andorid应用开发之BroadcastReceiver
BroadcastReceiver概述:BroadcastReceiver是接收从sendBroadcast()发出的intent的基类。你可以通过Context.registerReceiver()方法在代码中动态的注册一个BroadcastReceiver的实例,也可以通过再AndroidManifest.xml文件中用标签来静态声明。注意:如果你实在Activity.onResume
2012-02-29 15:32:00
890
1
原创 Android应用开发之通过HTTP协议发送XML数据并调用
webserviceWeb Service(WEB服务)能够快捷和方便地综合并结合各种系统、商务和任何应用平台。新出现的 Web Services 标准: SOAP、WSDL 和 UDDI 能够使任何系统和系统之间的应用变为更加方便和廉价。 Web服务(Web Services)和Service—Oriented Architecture作为实现分布式系统和履行公司内部、公司之间的应用
2012-02-29 15:26:35
938
怎么最快学好android
2011-10-20
凌波多媒体网络教室
2011-10-18
Windows 8 开始界面修改
2011-10-12
找回Windows 8中的经典开始菜单
2011-10-12
工具栏美化,提前感受win8...BinsSetup
2011-06-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人