软件测试技术实战 设计、工具及管理》联载-36

简介: 软件测试技术实战 设计、工具及管理》联载-36

11.1.3  开发测试代码


下面用ADT里自带的Eclipse开发一个简单的软件测试代码。它包括以下几个步骤。

1)新建一个Java工程包。

2)增加build path

3)新建软件测试类,继承UiAutomatorTestCase

4)编译与运行。


1.新建一个Java工程包

1)建立一个Java Project,如图11-8所示。

2)为Project起一个名字,并且选择路径,如图11-9所示。

3)确定Project信息,如图11-10所示。


image.png

11-8  建立一个Java Project


image.png

11-9  Project起一个名字,并且选择路径


image.png

11-10  确定Project信息


4)为Project建立一个包,如图11-11所示。


image.png

11-11  Project建立一个包


右击Project名,建立PackagePackage名称一般为XX.XX.XX,并且具有一定的含义。比如:com.jerry,表示Jerry公司开发的Java Package


5)建立临时文件目录,命名为libs,如图11-12所示。


image.png

11-12  建立临时文件目录,命名为libs

右击Project名,选择new->folder,命名为libs


6)寻找android.jar文件[J2]

通过文件夹,寻找android.jar,复制这个目录下的两个文件android.jaruiautomator.jar,如图11-13所示。


image.png

11-13  android.jaruiautomator.jar文件


7)粘贴到第(5)步建立的libs目录下,如图11-14所示。


image.png

11-14  粘贴到第(5)步建立的libs目录下


8build path这两个文件,如图11-15所示。


image.png

11-15  build path


选择这两个文件,点击鼠标右键,在弹出的菜单中选择“buildpath->Addto Build Path”,这两个文件就添加到“Referenced Libraries”中了。


9)在这个包下建立类(class)。

选中第(4)步创建的包,单击鼠标右键,在弹出的窗口中选择New->Class,如图11-16所示。


image.png

11-16  新建Class


Class起一个名字,单击Browse…】按钮,如图11-17所示。


image.png

11-17  Class起一个名字


使其继承UiAutomatorTestCase类,如图11-18所示。

完成后生成基本的代码如图11-19所示。


image.png

11-18  使其继承UiAutomatorTestCase


image.png

11-19  完成后生成基本的代码


2.编译和运行

建立好测试代码,就可以运行了,编译和运行总体架构如图11-20所示。


image.png

11-20  编译和运行总体架构


1)输入如图11-21所示代码,这个代码的作用:按下手机上的Home键。


image.png

11-21  输入代码

2)获得Project位置,选择“文件->属性”命令,获得Project位置,如图11-22所示。


image.png

11-22  获得Project位置


3)打开命令行,通过cd命令进入类的路径,如图11-23所示。

4)创建build.xml文件。

在命令行中输入“>android create uitest-Project -nmyTest -t 1–p C:\Myproject\Demo1”,获得如图11-24所示的3个文件。

     

image.png

                      11-23  通过cd命令进入类的路径

image.png

11-24  获得的3个文件

在这个命令中:

-tid可以通过>android list获得,一般为1

-n:类名。

-p:类所在的路径。

将新产生的build.xml中的default=help”改为default=build”,如图11-25所示。


image.png

11-25  修改build.xml文件


5)通过ant命令进行编译。

输入:>ant -buildfile build.xml,编译测试jar包,如图11-26所示。


image.png

11-26  编译build.xml文件


6)在Eclipse中启动模拟器。

如图11-27所示,在Eclipse中按标记的按键,启动安卓模拟器。


image.png

11-27  Eclipse中启动安卓模拟器


在弹出的菜单中点【Tools】,如图11-28所示。


image.png

11-28  Android SDK Manager进入Android虚拟设备管理器

然后点击【New】按键可以新建模拟器;或者在选中已有的模拟器中单击【Edit】按钮修改已有的模拟器设置,如图11-29所示。


image.png

11-29  新建Android设备模拟器


新建或者修改完毕,选择要启动的模拟器,单击【Start…】按钮,然后单击【Launch】启动Android模拟器,如图11-30所示。


image.png

11-30  启动Android设备模拟器


7)等待模拟器启动完毕,把文件pushAndroid虚拟机上[J3]

输入:>adb push C:\Myproject\Demo\bin\Demo.jar/data/local/tmp,如图11-31所示(关于adb的命令,见参考文献【10】)。

注:文件必须push到Android设备的/data/local/tmp目录中。

image.png

11-31  把文件pushAndroid虚拟机上


在虚拟机上运行测试程序。

运行:>adbshell uiautomator runtest Demo.jar -c com.jerry.myTest #mytest,如图11-32所示。其中:


image.png

11-32  在虚拟器上运行


Demo.jarjar包名。

com.jerry.myTest:类名。

#mytest:注释。


3.运行命令与快速调试

显而易见,如果要修改这个测试脚本,就要重新生成文件、修改build文件、编译、push到虚拟设备上,然后运行。这是非常麻烦的步骤,因此下面介绍一种简便的方法,用于快速运行UiAutomator测试脚本。

在介绍运行命令与快速调试之前,先把代码修改一下:

package com.jerry;
import android.os.RemoteException;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
import com.android.uiautomator.core.UiDevice;
public class myTest extends UiAutomatorTestCase {
    public void testDemo()
    {
    UiDevice.getInstance().pressHome();  //按Home键
    }
    public void testMenu(){
    UiDevice.getInstance().pressMenu(); //按菜单键
    }
    public void testRecent() throws RemoteException{ 
    UiDevice.getInstance().pressRecentApps(); //执行最近运行的程序
    } 
}


其中:

UiDevice.getInstance().pressHome(); 为按下Home键。

UiDevice.getInstance().pressMenu(); 为点按菜单键。

UiDevice.getInstance().pressRecentApps(); 为执行最近运行的程序。

打开浏览器,输入https://github.com,进入页面后,查询uiautomatorhelper,如图11-33所示。


image.png

11-33  查询uiautomatorhelper


找到后,点击链接:fan2597/UiAutomatorHelper,如图11-34所示。


image.png

11-34  选择fan2597/ UiAutomatorHelper


建议在下面的页面中使用Copy,而不使用Download,如图11-35所示。


image.png

11-35  Clone in Desktop

按照图11-36粘贴上一步Copy的地址到Eclipse中。


image.png

11-36  粘贴上一步Copy的地址

然后单击【Next】按钮。安装完毕后,如图11-37所示,导入ImportGit到已有的Project中。

image.png

11-37  导入Git到已有的Project


导入完毕后,单击【Finish】按键,如图11-38所示。

接下来,如图11-39所示,单击【Java】图标按钮,确保Git已成功导入。

查看UiAutomatorHelper.java,它把产生build.xml、修改build.xml、编译、传输、执行操作通过程序自动化起来了,如图11-40所示。

image.png

11-38  导入Git完毕

image.png

11-39  确保Git已成功导入

image.png

11-40  UiAutomatorHelper.java


下一步,把UiAutomatorHelper.java复制到自己建立的包下,如图11-41所示。

image.png


11-41  UiAutomatorHelper.java复制到自己建立的包下

接下来,如图11-42所示,加入一个main函数。

image.png

11-42  加入一个main函数


main函数中。[J4]

jarName:测试脚本的jar包名。

testClass:测试脚本的Package名称。

testName:测试脚本的函数名。

androidID:通过运行android list获得,一般为1

最后点Eclipse上面的【运行】键,就可以在Eclipse里面运行了。如果需要修改测试脚本,修改完毕,保存后,直接点【运行】键就可以再次在Eclipse中运行了。


顾翔凡言:

不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。

目录
相关文章
|
21天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
27 0
|
3天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】利用AI辅助工具提高软件测试效率与准确性
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
1月前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
1天前
|
IDE 测试技术 持续交付
探索自动化测试工具Selenium的高效应用
【4月更文挑战第29天】 在快速迭代的软件开发过程中,高效的测试策略是确保产品质量的关键。本文将深入探讨如何利用自动化测试工具Selenium来提高软件测试的效率和准确性。通过介绍Selenium的核心功能、脚本编写技巧以及与持续集成环境的集成方法,我们旨在为读者提供一个全面的Selenium应用指南。此外,我们还将讨论常见的问题解决策略,并通过案例分析展示如何有效地运用Selenium进行复杂的Web应用测试。
|
9天前
|
敏捷开发 Java 测试技术
探索自动化测试工具Selenium Grid的高效应用
【4月更文挑战第21天】 随着敏捷开发和持续集成的理念深入人心,自动化测试已成为软件开发过程中不可或缺的一环。本文将深入探讨如何利用Selenium Grid进行高效的自动化测试。通过分析其工作原理,搭建过程,以及在实际项目中的应用案例,揭示Selenium Grid在处理大规模并发测试中的潜力和优势。文章不仅提供了具体的操作步骤,还讨论了优化策略,帮助读者构建更加稳定和高效的自动化测试环境。
|
21天前
|
测试技术 Linux Apache
网站压力测试工具webbench图文详解
网站压力测试工具webbench图文详解
13 0
|
23天前
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
29天前
|
Java 测试技术 API
软件测试中的自动化工具与策略
软件测试是确保软件质量的重要环节,而自动化测试工具和策略的应用在提高测试效率和准确性方面发挥着重要作用。本文将介绍几种常见的自动化测试工具,并探讨在软件测试中应用自动化测试的最佳实践和策略。
|
1月前
|
Web App开发 Java 测试技术
深入理解与应用软件自动化测试工具Selenium
随着软件开发的快速发展,软件测试在保证产品质量方面发挥着越来越重要的作用。其中,自动化测试以其效率高、成本低的特点受到了广大开发者的欢迎。本文主要介绍了自动化测试工具Selenium的基本概念、原理以及在实际开发中的应用,旨在帮助读者更好地理解和使用Selenium进行高效的自动化测试。
23 4
|
1月前
|
人工智能 测试技术 虚拟化
现代软件测试中的自动化工具与技术
随着信息技术的迅猛发展,现代软件开发和测试领域也在不断创新。本文将探讨现代软件测试中自动化工具与技术的应用。通过分析自动化测试的优势、挑战以及最佳实践,帮助读者更好地理解当前软件测试领域的发展趋势,并为实际工作提供参考。
20 1

热门文章

最新文章