首页 文章 精选 留言 我的

精选列表

搜索[自动化],共10001篇文章
优秀的个人博客,低调大师

appium自动化测试环境部署_Android

对于一台干净的windows要做appium测试需要的环境如下(针对python): android sdk java(jdk) adb Emulator Node.js Appium(一个最新的1.0.2版本,一个1.4.16版本,随意安装哪个) Python上安装appium-python-client插件 1、我们先把下载androidsdk,打开安装文件下一步到结束: 安装完成后配置环境变量: 添加%ANDROID_HOME%变量值为C:\Program Files (x86)\Android\android-sdk(即你安装的目录) 在PATH变量里添加%ANDROID_HOME%/tools和%ANDROID_HOME%/platform-tools路径 注:有些SDK安装完成后可能是platform目录,需要手动建一个platform-tools的路径 并把adb相关文件放到这个目录里。 另外还需要手动建一个build-tools的文件夹,后面用模拟器时需要这个。 检查AndroidSDK环境是否配置好,运行cmd---输入android-h查看: 出现这些信息说明androidsdk环境已配置好。 2、安装jdk,很简单安装直接下一步到结束,然后配置环境变量: 添加%JAVA_HOME%变量,值为C:\Program Files (x86)\Java\jdk1.8.0_60(即你安装的目录) 在PATH变量里添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin目录 3、Adb.exe文件放到在第一步中建的platform-tools目录下: Adb主要用于连接安卓手机。 4、安装node,也是直接打开安装文件点击下一步到结束,然后配置环境变量: 安装完成后,我们要设置环境变量: 在PATH变量里添加C:\Program Files\nodejs(即你的安装目录) 检查node是否安装成功,进入cmd---输入node –v看是否出现版本信息: 5、安装appium客户端,我这里安装的是1.0.2版本,打开安装文件自己会直接安装完成 在PATH里添加C:\Program Files (x86)\Appium\node_modules\.bin 6、安装appium-python-client,前提时你python环境已经是好的 可以通过pip来安装,建议使用pycharm软件安装,非常方便 7、最后我们进入cmd---输入appium-doctor验证appium测试环境是否都ok: 本文转自niedongri 51CTO博客,原文链接:http://blog.51cto.com/laomomo/1932248,如需转载请自行联系原作者

优秀的个人博客,低调大师

PunkSPIDER:开源大型自动化扫描系统

PunkSPIDER是一款由PunkSCAN出品的大型WEB漏洞扫描器,我们利用它已经建立了一个稳定的扫描体系,每日可以实现无人值守式的运行。此外,其中运行了一个Apache Hadoop集群,每天能处理的扫描任务数以万计。 PunkSPIDER的特性 该扫描服务会在网上随机爬行,寻找可能存在漏洞的WEB应用,发起一些诸如SQL盲注、传统SQL注入,以及XSS等攻击。游客可以通过PunkSPIDER搜索一个URL或者一个关键词,得到相关网站的结果。同时,它采用了如Apache Hadoop等大数据级别的高端技术,但幸运的是这些都是开源的。 PunkSPIDER项目的设计思想是,站长可以通过搜索自己的网站来验证其是否做好了基本的安全措施,这个结果可能会激励用户优化自身的安全措施。当然,如果是那些不怀好意的人使用了PunkSPIDER,可能会让无辜的网站受到的威胁更大。这时候,站长可以选择通过修改robots.txt,或者优化防火墙和路由的IP规则,退出该扫描器的监控。 PunkSPIDER的优势 市面上的工具有不少都能够执行有限数量的扫描,但却不是很稳定,甚至会陷入崩溃和无限循环。而PunkSPIDER建立了一个非常稳定且可扩展的扫描框架体系,每天能够无人值守地自动运行,几乎能够将扫描任务无限地运行下去。 PunkSPIDER还有不少潜在特质,其中一个就是帮助需要安全检测的组织梳理自身的公开资产。毕竟,并不是每个组织都能让安全团队给自己定期进行常规检测的。使用了PunkSPIDER之后,组织只需要在搜索框简单地输入URL,就能知道自己是否有重要的漏洞需要修复。 此外,我们认为公众也应该去了解使用它。毕竟黑客可以访问的信息,公众自己更应该了解。同时,公众通过它还可以知道,是否自己信用卡信息和其他敏感数据已经处于不安全的境地。 这里给出PunkSPIDER项目的下载地址,猛戳这里。

优秀的个人博客,低调大师

Android JUnit test 进行自动化测试

一. 被test的工程: 新建一个android工程:D_session;它有一个activity:D_sessionActivity;package名:com.mysession 二.测试工程: 新建一个 测试工程:D_sessionTest, 类型是android test project; 1. menifest文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mysession.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.mysession" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="android.test.runner" /> </application> </manifest> 2. 一个base activity 来定义各种模拟测试者的动作和判断测试结果,各个测试类都继承该类: package com.mysession.test; import android.app.Activity; import android.app.Instrumentation; import android.app.Instrumentation.ActivityMonitor; import android.content.Intent; import android.test.InstrumentationTestCase; import android.test.TouchUtils; import android.widget.Button; import android.widget.TextView; import com.mysession.D_sessionActivity; public class SessionActivityTest extends InstrumentationTestCase { private Instrumentation mInstrumentation; private ActivityMonitor mSessionMonitor; private Activity mCurrentActivity, mSessionActivity; private String TextNotEqual = "text not equal."; private static final String PackageName = "com.mysession"; @Override protected void setUp() throws Exception { // 初始化 super.setUp(); if (mInstrumentation == null) { mInstrumentation = getInstrumentation(); } mSessionActivity = null; } @Override protected void tearDown() throws Exception { super.tearDown(); //释放资源 closeActivity(mSessionActivity); mCurrentActivity = null; } private void closeActivity(Activity activity) { if(activity != null){ activity.finish(); activity = null; } } public void openSessionActivity() { // 打开session activity try { setUp(); } catch (Exception e) { e.printStackTrace(); } mSessionMonitor = mInstrumentation.addMonitor( D_sessionActivity.class.getName(), null, false); Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClassName(PackageName, D_sessionActivity.class.getName()); mInstrumentation.startActivitySync(intent); mSessionActivity = getInstrumentation().waitForMonitor(mSessionMonitor); assertNotNull(mSessionActivity); mCurrentActivity = mSessionActivity; } //判断text是否正确 public void assertTextEqual(int resId, String strText) { TextView textView = (TextView) mCurrentActivity.findViewById(resId); assertNotNull(textView); assertEquals(TextNotEqual, strText, textView.getText().toString()); }; // 模拟按钮点击事件 public void clickButton(int resId){ Button button = (Button) mCurrentActivity.findViewById(resId); assertNotNull(button); TouchUtils.clickView(this, button); } } 3. 各个测试类: 测试类一: package com.mysession.test.cases; import com.mysession.R; import com.mysession.test.SessionActivityTest; public class MyCase1 extends SessionActivityTest { public void testCase1() { openSessionActivity(); assertTextEqual(R.id.etUrl, "http://172.20.230.5/iportal/samples/jsapi/mobile.html"); } public void testCase3() { openSessionActivity(); clickButton(R.id.btnLoad); clickButton(R.id.btnHistory); } } 测试类二: package com.mysession.test.cases; import com.mysession.R; import com.mysession.test.SessionActivityTest; public class MyCase2 extends SessionActivityTest{ public void testCase2() { openSessionActivity(); clickButton(R.id.btnLoad); } } 三. 有些动作(如点击menu)需要通过包robotium-solo-1.8.0.jar来完成。 所以要在Build Path->Configure Build Path…中导入:robotium-solo-1.8.0.jar 程序中: private Solo solo; solo = new Solo(getInstrumentation(),getActivity); 就可以使用solo了, 如: solo.clickOnMenuItem(text); solo.goBack(); 最新内容请见作者的GitHub页:http://qaseven.github.io/

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册