自动化测试
SailWu
欢迎热爱自动化测试的人一起交流技术
展开
-
通过jmeter实现多人同时登录IM并发送消息
安装Plugins Manager https://jmeter-plugins.org/install/Install/这里通过插件安装比较省事,当然也可以自己下载jmeter websocket插件手动安装 通过插件管理器安装websocket插件 全局参数 登录IM服务 消息鉴权发送消息循环发送和定时器设置效果展示...原创 2020-01-07 21:18:10 · 1414 阅读 · 4 评论 -
基于Selenium的Web自动化测试脚本在IE上运行慢的解决方法
Selenium对Web浏览器的支持度上,对火狐Firefox的支持是最好的,其次是谷歌的Chrome,然后是IE,有的Web项目需要在三种浏览器上执行,Chrome和IE都需要借助Driver Server才能驱动浏览器运行脚本,在IE上运行的时候通常会遇到速度很慢,特别是在文本框中输入文本的时候。 其实原因很简单,你的IE Driver Server极可能使用了64位的,请把64位的换成32位原创 2016-02-19 14:58:31 · 7596 阅读 · 2 评论 -
基于HttpClient Jar包封装Java方法实现接口测试
import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import org.apache.commons.lang.StringUtils;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org原创 2016-02-19 15:11:17 · 3810 阅读 · 0 评论 -
Java代码实现获取安卓手机指定App的流量、CPU和内存占用信息
原理:安卓手机的系统性能信息都写在系统的文件中,通过安卓SDK源生命令来获取这些信息。import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.text.DecimalFormat;public cl原创 2016-02-19 15:23:51 · 7940 阅读 · 2 评论 -
Java实现安卓压力测试
原理:用Java调用Windows Command命令 -> Windows Command调用安卓SDK的ADB命令 -> ADB命令调用monkey。 优点:通过Java代码来实现monkey的功能,可以把脚本部署到持续监控平台完成,无需人工运行。代码中将运行时的log保存到本地,并解析log,一旦出现了App崩溃的异常,测试就报错,并打印异常信息。import java.io.Buffere原创 2016-02-19 15:36:14 · 1056 阅读 · 3 评论 -
IOS App自动化测试环境配置 - Selenium2.0+Appium
(注:项目是HP的,客户在美国,配置文档是给客户看的,所以用的E文,也懒得翻译了,见谅) Test Environment Mac and IOS environment Mac mini: OS X 10.10.3 IOS devices: iPhone 5S 8.0Software environment JDK 1.8.25 XCode 6.3 Appium 1.3.7 HP原创 2016-03-23 10:28:41 · 5277 阅读 · 0 评论 -
TestNG在自动化测试框架中应用详解
1、TestNG支持的注解和执行顺序 @beforeSuite (测试套件执行前执行一次,可以包括N个java包,N个java类) @beforeTest (介于测试套件suite和测试类之间的级别) @beforeClass (测试类中的所有方法执行之前执行一次) @beforeMethod (测试类中每个测试方法执行之前执行一次) @Test (测试类) @after原创 2016-04-20 15:16:30 · 3493 阅读 · 0 评论 -
Appium 在 MAC 上搭建 appium1.6.3 过程
自己研究好久ios10的真机测试今天算是成功了。新手发帖,仅供参考。原文地址https://github.com/appium/appium-xcuitest-driver1,有一个MAC机器,或者虚拟机,能够联网,要求Xcode8+ MAC系统10.11+(我用的是Xcode8.2 , MAC系统10.12)有一个Apple ID账号2,安装brewusr/bin/ruby -e "转载 2017-01-12 14:54:01 · 16591 阅读 · 41 评论 -
Appium-Desktop之iOS9.3+版本配置
1、下载链接 https://github.com/appium/appium-desktop/releases/download/v1.1.1/appium-desktop-1.1.1.dmg2、安装 双击dmg文件将Appium图标拖进Application中3、配置 注意:在配置appium-xcuitest-driver之前先在系统的Application中打开一次Appium,否则会原创 2017-08-22 14:42:02 · 2266 阅读 · 0 评论 -
Xcode8、Appium支持iOS11自动化测试的解决方案
iOS11推出,很多做iOS自动化测试的同学肯定会尝鲜或者测试App在iOS11上的兼容性,把手机升级到了iOS11,这就会出现一个问题,最新的Xcode Release版本是8.3.3,不支持调试iOS11,也就意味着无法在iOS11点真机上build Appium工具所依赖的WebDriverAgentRunner,有两种解决方案:升级Xcode至9.0BETA版本,不支持这种做法,对iOS开发原创 2017-09-13 10:12:34 · 3442 阅读 · 0 评论 -
UI自动化测试截图中标记被点击元素的方法
在UI自动化测试中,我们经常做的是在执行脚本出错时,会在出错的时候进行截图,然后通过截图对比脚本来分析出错原因,如果点击了某个元素后,页面跳转错误,点击元素之前在截图中标记被点击的元素,就可以提高分析原因的效率,基于这样的考虑,开发了一个在截图中标记被点击元素的方法。1、截图基本方法 使用的时候,传入的参数可以去掉,根据自己的框架设定参数。package **.utils;import java.原创 2017-09-13 14:33:14 · 1731 阅读 · 0 评论 -
IOS App压力测试 - Smart_monkey的安装和使用
打开Mac的终端并输入 /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 当出现Press RETURN to contine or any other key to abort的时候按回车键。 然后在终端中输入gem install smart原创 2016-03-23 15:13:27 · 13150 阅读 · 2 评论 -
Java实现把测试结果写入Excel表中
自动化测试脚本执行完以后,会有一个测试结果,无论是通过框架还是Jenkins平台生成的结果,可读性都不是太好,为了方便手工测试人员查看结果,测试完成后把结果写入Excel是一个不错的方法,但是脚本多了,通过人工来写,无疑加重了自动化测试人员的工作,为了解决这个问题,我就开发了一个把测试结果写入Excel的工具类,代码如下:import java.io.File;import java.util.原创 2016-01-29 15:33:31 · 4802 阅读 · 12 评论 -
Java实现获取Web上所有路径下资源文件的URL地址
前言:因为项目需求,需要实现页面的抓包功能,即抓取web项目上所有路径下面的资源文件的URL地址(很多资源文件都是从第三方站点获取的),然后通过http请求来验证URL地址是否正常。这里就需要开发一个网页爬虫的脚本来实现。开发语言:Java 引入Jar包Jsoup 实现代码:import java.io.IOException;import java.util.ArrayList;import原创 2016-02-19 13:20:47 · 4138 阅读 · 0 评论 -
基于图片驱动的C/S架构自动化测试技术 - Sikuli
前言 针对C/S架构的项目做自动化测试,我们可能最先考虑的是引入惠普的QTP工具,软件上的每一个空间都可以识别成唯一的元素定位,对这些元素按照测试用例进行操作,实现开发自动化测试脚本的目的。而对于非传统的C/S架构的软件系统,比如C/S中嵌入了B/S,这时QTP就可能没有办法识别B/S大空间内部的元素,只能把整个B/S的空间作为一个元素识别出来,这样我们就没办法来操作B/S内部的元素,当然,QTP原创 2016-01-27 15:41:18 · 2692 阅读 · 0 评论 -
Java测试框架TestNG和JUnit对比
测试结果报表JUnit是单一模式,在界面上显示运行的case数量, Error,Failures和Pass数量,以及显示failure的原因。TestNG多屏显示,相对美观点,显示运行的case情况,failed tests的情况以及Summary信息。注解JUnit 支持 @Test, @After, @AfterClass, @Before, @BeforeClass, @Ignore等原创 2015-12-09 11:39:00 · 2771 阅读 · 0 评论 -
IE和Chrome最大化实现方法
在开发Web自动化测试脚本的时候,经常会用到浏览器最大化的方法,Selenium是完美支持Firefox的,所以调用driver的一个方法就可以实现。driver.manage().window().maximize();这个方法并不适用于IE和Chrome浏览器,可以用下面的方法来实现。IESystem.setProperty("webdriver.ie.driver", testDataRo原创 2015-12-10 11:17:36 · 3524 阅读 · 0 评论 -
使用JMeter实现多用户功能测试 - 完成手动测试无法完成的工作
项目背景 本项目是一个抽奖活动,用户通过参加活动获得奖券,然后刮开奖券,刮开奖券的时候查询奖券是否中奖。使用手工测试去完成这个测试,需要测试人员手动产生一张奖券,然后刮开奖券,最后看在刮到多少张奖券中奖的时候来判定中奖概率,如果中奖概率在百分之一或者千分之一以内,通过手工测试可以完成,需要消耗很多时间来完成这个过程,倘若中奖概率在万分,十万分或者更少的数量级,通过手工测试来完成无疑是不现实的,需要原创 2015-11-23 16:54:08 · 7562 阅读 · 0 评论 -
JMeter实现多用户并发功能测试 - 抽奖系统实战经验
抽奖活动系统是用户通过参与活动获得奖券,然后刮开奖券查询是否获奖。项目需求和技术方案: 项目需求是测试抽奖活动的中奖概率: 1、中奖率在定义的概率范围内 2、中奖次数不得大于定义的次数 3、所有奖券的状态显示正常 自动化方案: 1、中奖概率在千万级别不可能用人工进行,需要借助自动化。 2、在自动化测试工具的选择上,用Java代码脚本的形式做到千万级别的次数运行时间太长,需要借助并发测试原创 2015-11-18 10:08:31 · 47663 阅读 · 9 评论 -
基于项目需求开发JMeter插件
前言 由于项目的接口并非传统的HTTP或者socket请求,建立socket长连接以后,开发使用自己代码对包头和包体进行加密,并约定成协议号,而我们需要根据这个协议号,通过开发的源码把包头和包体进行加密,再传到服务器,才能得到我们想要的返回结果。我们可以通过开发脚本来对每个接口进行测试,测试接口工作是否正常,但是如何对这些接口进行压力测试。工具引入 引入JMeter的原因是它是一个原创 2015-11-18 18:05:30 · 1114 阅读 · 0 评论 -
安卓App压力测试 - Monkey的使用
Monkey是安卓开发工具包SDK自带的一个命令行工具,可用于安卓App的压力测试,其原理是通过命令行向手机发送随机事件的指令,随机事件包括点击,划屏和输入等操作,这些操作都是随机不可控的,可控的是需要操作的App,每次操作间隔的时间以及随机事件的次数等。Monkey的使用步骤是:安卓手机装好待测App,跟电脑连接,或者从SDK中打开安卓模拟器打开命令行,输入adb start-server开启原创 2015-11-21 11:09:58 · 12398 阅读 · 2 评论 -
Eclipse中开发测试脚本
我们已经从前面几篇的文章中基本了解了自动化测试的原理了,那么开始开发我们的第一条自动化测试脚本吧。开发环境配置好了以后,打开集成开发环境Eclipse,新建一个Maven项目:新建Maven项目以后,把之前录制的那一段Java类放进来,作为maven项目的第一个自动化测试脚本 导入这个脚本后,编译会有很多错误,主要是因为缺少依赖的第三方jar,这里Maven的优势就出来了,原创 2015-11-10 17:41:15 · 7962 阅读 · 0 评论 -
自动化学习从录制开始 - Seleium IDE
对于刚接触到自动化的同学来说,通过录制工具来学习自动化可能是最快捷的方式了,selenium可能也考虑到了这一点,所以很早之前就推出了一个叫Selenium IDE的工具来录制脚本。http://docs.seleniumhq.org/download/ 可以在这个站点来下载。注意这个站点不知为何被国内封了,我表示不太理解,所以需要翻墙,代理,VPN之类的工具来访问并下载,当然,也可以在第三方站点原创 2015-11-10 17:36:41 · 2662 阅读 · 0 评论 -
自动化测试Java环境全配置
这篇着重介绍自动化测试Java环境的几个工具的配置,包括JDK, SDK, Maven, JMeter,Tomcat,Ant,等。打开配置环境变量的步骤是右键点击我的电脑 - 系统属性 - 高级 - 环境变量。环境变量一般配置到系统变量中去,点击新建就可以配置工具的环境变量。 其实配置环境变量的主要原因是让系统或者第三方工具识别到你的工具路径,因为系统或者工具都是通过默认的参数格式来取值的,配置环原创 2015-11-20 17:52:00 · 1116 阅读 · 0 评论 -
基于Java+Selenium+Appium集成Web、安卓和IOS自动化测试框架的设计
1、开发环境开发语言和使用框架:Java、Selenium2、testNG集成开发环境: Eclipse http://www.eclipse.org/移动端自动化工具: Appium http://appium.io/ ;分布式监控平台: Jenkins 2、框架原理主框架分为三层:InitialFramework、UIFramework、Web\Android\IO原创 2015-11-10 17:19:36 · 4681 阅读 · 0 评论 -
Selenium等待元素的处理方法
在开发脚本的过程中,经常会因为网络或者系统性能的问题,导致页面加载很慢,这种问题经常会导致脚本因为超时运行失败,那么就需要等待元素来解决这个问题。1. Java sleep实现 Thread.sleep()这个方法是最不推荐的,是用线程等待的方式来实现,每次元素出现在页面的时间不一样,如果设置的时间长了,白白浪费了时间,如果设置的时间短了,脚本依然会报没有找到元素的错误。2. WebDriver P原创 2015-11-27 16:34:35 · 5962 阅读 · 0 评论 -
Web和安卓自动化截图功能
在功能自动化测试脚本中加上截图功能,方便分析测试结果。Web截图代码 protected static WebDriver driver; public static void getScreenShot(String fileName) { File screenshot = null; if (!(driver instanceof TakesScre原创 2015-11-30 11:32:49 · 1323 阅读 · 0 评论 -
基于Java和Appium配置安卓自动化测试开发环境
一、环境配置1、 下载Eclipse http://www.eclipse.org/downloads/ 并解压到本地。 2、 下载Java JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html并安装,配置环境变量。 3、 下载Maven http://maven.原创 2015-11-10 17:22:08 · 1378 阅读 · 0 评论 -
selenium-server实现在不同PC上执行多线程并发测试
下载Selenium server的jar包 http://selenium-release.storage.googleapis.com/index.html 将jar包保存在主机和需要进行并发测试的机器上在主机上运行下面的命令 端口号可以是任意没有被占用的 java –jar C:\autotest\selenium-server-standalone-2.43.1.jar –role原创 2015-12-09 13:45:09 · 3514 阅读 · 0 评论