6.Appuim自动化测试框架API讲解与案例实践(三)

如图1,可以在主函数里通过TestSuite来指定执行某一个测试用例;

6.1,scroll();如图2

从图3中可以看到当前页面的所有元素resource_id都是相同的,所以不能通过resource_id来定位元素,这里选择by_class_name方法来获取元素列表的方式,然后向scroll(object1,object2)中传入两个列表中值;

6.2,drag()_and_drop();选中某个元素并拖拽到某个元素的位置;如图4,用法与scroll()相同,都是需要传入两个参数;

6.3,swipe(start_x,start_y,end_x,end_y);滑动;x/y分别为起点和终点的坐标;那么什么时候会用到swipe()这个API呢?当在页面上无法获取到元素的属性的时候。如果可以获取到元素属性,就没有必要选择swipe(),因为swipe()相对scroll()和drag()_and_drop()是不够精确的;因为不同设备的分辨率是不一样的,在较大分辨率设备上写的脚本,有可能会超出较小分辨率的设备的范围;

6.4,tap([(x1,y1)],[(x2,y2)],[(x3,y3)]......);传入的参数是一个数组,来实现1点或多点的点击,如图6;

7.Appuim自动化测试框架API讲解与案例实践(四)

7.1,flick(start_x,start_y,end_x,end_y),快速滑动;current_activity,当前activity的名字;wait_activity(activity名,等待显示的时间x,每过多长时间y检测一次activity是否显示),等待activity显示;如果显示了,返回True,如果没有显示,返回False;background_app(置于后台的时间x),将app置于后台,在参数的时间后再返回到前台;

8.Appuim自动化测试框架API讲解与案例实践(五)

8.1,is_app_installed(包名);查看app的安装状态,如果已经安装了,返回True,如果没有安装,返回False;remove_app(包名),卸载app;install_app(app的路径),安装app;launch_app(),启动app,启动初始化时的app;

图8中使用install_app()时,需要在脚本初始化时先指定一个当前已经安装的app(如图9),如果直接指定要安装的app会出现报错,原因是脚本执行的时候找不到要安装的app;

9.Appuim自动化测试框架API讲解与案例实践(六)

9.1,close_app(),关闭app;start_activity(pacakge名,activity名),启动某个package下的某个活动页面;get_screenshot_as_file(),截屏;

以上,通过实例介绍了Android  Native App自动化测试,希望对看到本篇的人有所帮助。

Android Native App自动化测试实战讲解(下)(基于python)的更多相关文章

  1. Android Hybrid App自动化测试实战讲解(基于python)

    1.Hybrid App自动化测试概要 什么是Hybrid App? Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app,兼具“Native App ...

  2. Android Native App自动化测试实战讲解(上)(基于python)

    1.Native App自动化测试及Appuim框架介绍 android平台提供了一个基于java语言的测试框架uiautomator,它一个测试的Java库,包含了创建UI测试的各种API和执行自动 ...

  3. Android App自动化测试实战(基于Python)(三)

    1.Native App自动化测试及Appuim框架介绍 android平台提供了一个基于java语言的测试框架uiautomator,它一个测试的Java库,包含了创建UI测试的各种API和执行自动 ...

  4. 基于UiAutomator2+PageObject模式开展APP自动化测试实战

    前言 在上一篇<APP自动化测试框架-UiAutomator2基础>中,重点介绍了uiautomator2的项目组成.运行原理.环境搭建及元素定位等基础入门知识,本篇将介绍如何基于uiau ...

  5. Native App自动化测试及Appium框架介绍

    一  自动化工具简介 1 Appium : 开源,跨平台的自动化测试工具,用于测试Native(原生)和Hybrid(混合)应用,支持IOS/Android/FirefoxOS 平台. 2  环境 : ...

  6. 【airflow实战系列】 基于 python 的调度和监控工作流的平台

    简介 airflow 是一个使用python语言编写的data pipeline调度和监控工作流的平台.Airflow被Airbnb内部用来创建.监控和调整数据管道.任何工作流都可以在这个使用Pyth ...

  7. windows 环境下基于Python 的GDAL 安装

    最近由于需要利用pytho处理地理空间数据,但是python本身并没有访问和处理地理空间数据的包,只能借助于GDAL(Geospatial Data Abstraction Library)来进行访问 ...

  8. 《精通移动app测试实战:技术、工具和案例》新书上市

    本书是测试专家.性能测试专家.专业畅销书作者--于涌,多年实战经验的总结,涵盖主流的测试工具,包括众多的测试实例,涵盖单元测试.功能测试.性能测试.UI测试.手游测试.自动化测试.测试用例管理.持续集 ...

  9. 基于python的互联网软件测试开发(自动化测试)-全集合

    基于python的互联网软件测试开发(自动化测试)-全集合 1   关键字 为了便于搜索引擎收录本文,特别将本文的关键字给强调一下: python,互联网,自动化测试,测试开发,接口测试,服务测试,a ...

随机推荐

  1. HDU 2243考研路茫茫——单词情结 (AC自动机+矩阵快速幂)

    背单词,始终是复习英语的重要环节.在荒废了3年大学生涯后,Lele也终于要开始背单词了. 一天,Lele在某本单词书上看到了一个根据词根来背单词的方法.比如"ab",放在单词前一般 ...

  2. python copy模块

    python copy模块 copy模块用于对象的拷贝操作 该模块只提供了两个主要的方法: copy.copy:浅复制 copy.deepcopy:深复制 直接赋值,深拷贝和浅拷贝的区别 直接赋值:简 ...

  3. Fiddler 过滤设置

    1.User Fiters启用     2.Action Action:Run Filterset now是否运行,Load Filterset加载,Save Filterset保存:   3.Hos ...

  4. System.data.sqlclient.sqlexception:将截断字符串或二进制数据终止

    System.data.sqlclient.sqlexception:将截断字符串或二进制数据终止. 错误原因:输入的字符串长度超过数据库设置的长度

  5. select标签默认选项

    1.selected:默认选择该选项: 2.disabled:该选项不能被鼠标选择:(注:选项没有被隐藏的时候) 3.style="display:none":隐藏该选项:(注:该 ...

  6. js根据顺序加载,有依赖关系

    function loadScript(url, callback) { var script = document.createElement("script"); script ...

  7. socket 套接字服务器端和客户端发送信息

    import socket import threading host='' port=6889 def cilenThred(conn,addr): print("成功接受客户端{}的连接 ...

  8. 第一个servlet程序

    在Eclipse中新建一个Dynamic Web Project 在WebContent下面添加index.jsp <%@ page language="java" cont ...

  9. ThinkPHP5 打开多语言支持

    1.在thinkphp\start.php 页面中添加多语言的切换函数的参数格式,本贴目前只支持两种语言,并注意必须全部小写!全部小写!!全部小写!!!,注意这一步很关键 Lang::setAllow ...

  10. monaco editor + vue的配置

    monaco editor是vscode的御用编辑器. 功能非常强大,使用方便轻巧,对js\ts等等语言支持都良好,能方便的扩展以支持其他语言或者自定义的特性. 夸了这么多,这里只说它一个问题: 这货 ...