【Android自动化测试】Ui Automator技术(以对QQ软件自动发说说为例)

这篇具有很好参考价值的文章主要介绍了【Android自动化测试】Ui Automator技术(以对QQ软件自动发说说为例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、引言

  • 描述:UI Automator 是一个界面测试框架,适用于整个系统上以及多个已安装应用间的跨应用功能界面测试。这里我将会拿QQ软件的说说模块进行测试
  • 知识点:Ui Automator
  • 难度:初级
  • 效果
    【Android自动化测试】Ui Automator技术(以对QQ软件自动发说说为例),Android开发,android,ui

二、了解(Android官方文档)

1、UiDevice 类

用于在运行目标应用的设备上访问和执行操作,同时还能进行以下操作:

  • 改变设备的旋转。
  • 按硬件键,如“音量调高按钮”。
  • 按返回、主屏幕或菜单按钮。
  • 打开通知栏。
  • 截取当前窗口的屏幕截图。

2、UI Automator API

  • UiCollection:枚举容器的界面元素,目的是为了计数,或者按可见文本或内容说明属性来定位子元素。
  • UiObject:表示设备上可见的界面元素。
  • UiScrollable:支持搜索可滚动界面容器中的项目。
  • UiSelector:表示对设备上的一个或多个目标界面元素的查询。
  • Configurator:可让您设置用于运行 UI Automator 测试的关键参数。

3、UI Automator 查看器

        查看器是非常重要的工具,主要作用:获取控件ID、Class等信息,用于配合UiDevice 类来进行测试。
        Ui Automator Viewer 工具位于 android-sdk/tools/bin 目录中。

三、使用

1、依赖

androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'

2、代码

如第一章效果图,给出代码文章来源地址https://www.toymoban.com/news/detail-517107.html

@RunWith(AndroidJUnit4.class)
public class MainActivityTest {

    UiDevice device;

    @Before
    public void init() {
        // 初始化UiDevice实例
        device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());

        // 从主屏幕开始获取软件包名
        device.pressHome();

        //depth(0) 跳转到主屏幕
        String launcherPackage = device.getLauncherPackageName();
        device.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)),
                1000);

        //获取Context 跳转到com.example.xch.android001包,进入android001软件
        Context context = ApplicationProvider.getApplicationContext();
        Intent intent = context.getPackageManager().getLaunchIntentForPackage("com.tencent.mobileqq");
//        Intent intent = context.getPackageManager().getLaunchIntentForPackage("com.sankuai.meituan");   // 美团测试
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
        context.startActivity(intent);
        device.wait(Until.hasObject(By.pkg("com.tencent.mobileqq").depth(0)),0);;
    }

    @Test
    public void test() throws InterruptedException {
        //自动化发表说说4
        device.findObject(By.text("动态")).click();  // 通过文字点击控件
        device.findObject(By.res("com.tencent.mobileqq","uae")).click();   // 通过id点击控件
        Thread.sleep(200);  // 延迟,给onCreate时间
        device.findObject(By.res("com.tencent.mobileqq","dsj")).click();
        Thread.sleep(200);
        device.findObject(By.res("com.tencent.mobileqq","hkl")).click();
        Thread.sleep(200);
        device.findObject(By.res("com.tencent.mobileqq","itv")).setText("云端new守夜人\nAndroid uiautomator 测试");
        device.findObject(By.res("com.tencent.mobileqq","ivTitleBtnRightText")).click();

    }

}

到了这里,关于【Android自动化测试】Ui Automator技术(以对QQ软件自动发说说为例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MAC M1 Pro搭建移动端UI自动化测试环境--Android篇

    目前大家熟知的测试主要分为功能测试、接口测试、UI测试,本文重点介绍的则是UI测试 UI 测试 通常分为WEB 端和 移动端,前者主要是针对PC端的网站进行测试,主要是模拟各个浏览器的内核的兼容性,后者则是针对App Native、H5、Hybrid进行模拟测试,发现多机型的兼容性问题

    2023年04月22日
    浏览(54)
  • 自动化测试系列 —— UI自动化测试

    UI 测试是一种测试类型,也称为用户界面测试,通过该测试,我们检查应用程序的界面是否工作正常或是否存在任何妨碍用户行为且不符合书面规格的 BUG。了解用户将如何在用户和网站之间进行交互以执行 UI 测试至关重要,通过执行 UI 测试,测试人员将尝试模仿用户的行为

    2024年02月10日
    浏览(48)
  • Python Selenium UI自动化测试_python 自动化ui测试

    2.2 安装selenium pip install selenium pip install selenium==2.53.0 2.3 下载webdriver驱动 以chrome浏览器为例 查看chrome浏览器版本:在地址栏输入 chrome://version chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html 下载与浏览器版本对应的chrome driver 将下载好的chrome driver 解压,并放至到

    2024年04月14日
    浏览(71)
  • 【Web UI自动化测试】Web UI自动化测试之框架篇(全网最全)

    本文大纲截图: UnitTest框架: PyTest框架: 框架: 框架英文单词 framework,为解决一类事情的功能的集合。需要按照框架的规定(套路)去书写代码。 概念:UnitTest是python自带的一个单元测试框架,用它来做单元测试 自带的框架:不需要单独按照,只要安装了 python就可以用

    2023年04月09日
    浏览(54)
  • 【Web UI自动化测试】Web UI自动化测试之日志收集篇(全网最全)

    本文大纲截图:   日志: 用于记录系统运行时的信息,对一个事件的记录,也称为 Log 。 日志作用: 1)调试程序 2)了解系统程序运行的情况是否正常 3)系统程序运行故障分析与问题定位 4)用来做用户行为分析和数据统计 日志级别: 日志级别:指日志信息的优先级、重

    2024年02月12日
    浏览(44)
  • UI自动化概念+Web自动化测试框架

    1.UI自动化测试概念:我们先明确什么是UI UI,即(User Interface简称UI用户界面)是系统和用户之间进行交互和信息交换的媒介 UI自动化测试: Web自动化测试和移动自动化测试都属于UI自动化测试,UI自动化测试就是借助自动化工具对程序UI层进行自动化的测试 2.为什么对UI采用自动化

    2024年02月06日
    浏览(75)
  • UI自动化概念 + Web自动化测试框架介绍

    UI,即(User Interface简称UI用户界面)是系统和用户之间进行交互和信息交换的媒介 UI自动化测试: Web自动化测试和移动自动化测试都属于UI自动化测试,UI自动化测试就是借助自动化工具对程序UI层进行自动化的测试 从不同的阶段或层次来说,自动化测试可以分为单元测试、接口

    2024年02月08日
    浏览(66)
  • Ui自动化概念+Web自动化测试框架介绍

    目录 UI 1.UI自动化测试概念:我们先明确什么是UI 2.为什么对UI采用自动化测试? 3.什么项目适合做UI自动化测试? 4.UI自动化测试介入时机 5.UI自动化测试所属分类 Web自动化测试框架介绍 2.Selenium框架介绍及特点: Web自动化测试环境搭建 2.元素定位(一) idclassname,tagname定位 link text与

    2023年04月21日
    浏览(52)
  • Python Selenium UI自动化测试_python 自动化ui测试,Kotlin可能带来的一个深坑

    :层级选取,如:#formspaninput 举例:div.entry-sider-panelsection.entry-sider-panel__bddivdiv:nth-child(1) 3.3 元素操作 3.3.1 输入内容 send_keys() 3.3.2 点击元素 click() 3.3.3 清空元素文本内容 clear() 3.3.4 获取元素文本 text 返回的是字符串 3.3.5 获取元素尺寸 size 返回的是字典 3.3.6 获取元素的属性值

    2024年04月25日
    浏览(43)
  • UI自动化测试(APP测试)

    1、什么是自动化测试 概念:由程序代替人工进行系统校验的过程 1.1自动化测试能解决的问题? 回归测试 (冒烟测试) 针对之前老的功能进行测试 通过自动化的代码来实现。 针对上一个版本的问题的回归 兼容性测试 web实例化不同的浏览器驱动相当于对不同的浏览器进行操作

    2024年02月01日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包