首页 文章 精选 留言 我的

精选列表

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

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,如需转载请自行联系原作者

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

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/

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

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

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册