随笔分类 -  Python+Appium移动端UI自动化

摘要:python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结。 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去。 接下来,一起总结一下APP 阅读全文
posted @ 2020-10-26 23:21 给你一页白纸 阅读(2758) 评论(3) 推荐(6)
摘要:一,前言 上一篇博客Jenkins集成appium自动化测试(Windows篇)介绍了怎么使用远程Jenkins新建节点连接本地Windows电脑进行Appium自动化测试集成。 但是在做ios App自动化测试时,因为ios系统生态闭环的原因,苹果测试真机或者苹果模拟器需要连接Mac电脑才能更好的 阅读全文
posted @ 2020-10-21 11:17 给你一页白纸 阅读(2413) 评论(0) 推荐(0)
摘要:一,引入问题 自动化测试脚本绝大部分用于回归测试,这就需要制定执行策略,如每天、代码更新后、项目上线前定时执行,才能达到最好的效果,这时就需要进行Jenkins集成。 不像web UI自动化测试可以使用无痕浏览器做到无界面,APP UI自动化需要用到真机或模拟器,在完全的linux环境下做Jenki 阅读全文
posted @ 2020-10-17 12:17 给你一页白纸 阅读(2019) 评论(0) 推荐(3)
摘要:一,引入问题 在之前的博客中,测试脚本是使用线性模式来编写的,如下: 注意:本博客所有代码仅为示例 # -*- coding:utf-8 -*- # @author: 给你一页白纸 import logging from appium import webdriver from selenium.w 阅读全文
posted @ 2020-10-13 20:08 给你一页白纸 阅读(1597) 评论(0) 推荐(6)
摘要:一,前言 1,单元测试 软件测试一般按阶段划分为:单元测试,集成测试,系统测试。单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证。 单元测试中单元的含义,单元就是人为规定的最小的被测功能模块,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口 阅读全文
posted @ 2020-10-11 20:42 给你一页白纸 阅读(1211) 评论(0) 推荐(0)
摘要:通常在前期调试代码的时候,我们会使用print在IDE控制台打印一些信息,判断运行情况。但在运行整个自动化测试项目的过程中,通过print打印信息的方式获取运行情况显然行不通。 这时就需要收集日志,每次运行后通过查看日志来获取项目运行情况。那么我们该如何获取日志? 一,日志概述 1,日志作用 在项目 阅读全文
posted @ 2020-10-08 13:53 给你一页白纸 阅读(7633) 评论(1) 推荐(5)
摘要:做APP的UI自动化测试时,我们往往会使用真机跑自动化测试脚本,因为这样才是最真实的使用场景。但前期调试脚本的话,可以先使用模拟器,这样相对更加方便。 不推荐使用Android SDK里自带模拟器,太卡。 这里介绍两款我正在用于做自动化测试的模拟器:Genymotion 与 夜神模拟器。 一,Gen 阅读全文
posted @ 2020-09-28 15:56 给你一页白纸 阅读(2163) 评论(0) 推荐(0)
摘要:一,前言 在之前的appium自动化测试示例中,我们都是把构造driver实例对象的数据(即Desired Capabilities)写在业务代码里,如下: # -*- coding:utf-8 -*- # @author: 给你一页白纸 from appium import webdriver d 阅读全文
posted @ 2020-09-25 17:32 给你一页白纸 阅读(301) 评论(0) 推荐(0)
摘要:一,前言 在app自动化测试的过程中经常会遇到需要对toast进行定位,最常见的就是定位toast或者获取toast的文案进行断言,如下图,通过定位"登录成功"的toast就可以断言今日头条登录用例是否通过。但toast区别于控件元素,无法获取焦点,不能通过uiautomatorviewer.bat 阅读全文
posted @ 2020-09-21 15:54 给你一页白纸 阅读(792) 评论(0) 推荐(1)
摘要:在使用appium做app自动化测试的过程中,可能会遇到元素的属性值不是唯一的情况,导致不能通过find_element_bi_xx()方法定位元素,这个时候我们就可以通过坐标来定位元素。 1,通过绝对坐标定位(不推荐) 在手机(或模拟器)的开发者选项里打开指针位置,任意点的绝对坐标都能获取到,如下 阅读全文
posted @ 2020-09-19 11:11 给你一页白纸 阅读(1812) 评论(0) 推荐(0)
摘要:appium做app自动化测试过程中,有时需要获取控件元素的坐标进行滑动操作。appium中提供了location方法获取控件元素左上角的坐标,再通过size方法获取控件元素的宽高,就可以得到控件元素更多的坐标。 一,获取元素坐标的方法 1,size获取元素的宽、高 ele_size = drive 阅读全文
posted @ 2020-09-17 18:35 给你一页白纸 阅读(1757) 评论(0) 推荐(0)
摘要:对控件元素进行滑动、拖拽操作,九宫格解锁,手势操作等。这些需要针对控件元素的滑动操作,或者点至点、元素至元素之间的滑动操作,使用swipe方法显然不是很方便,这时候就可以用到appium里提供TouchAction类和MulitAction类。 阅读全文
posted @ 2020-09-16 15:55 给你一页白纸 阅读(890) 评论(0) 推荐(1)
摘要:问题:用appium进行真机调试后,使用手机的app进行输入时无法调出键盘。 原因:appium调试时,将手机输入法设置成了Unicode IME 解决方法: 方法一,手机设置里修改输入法: 不同的手机型号、系统设置的步骤可能不同,以华为Magic3.1.0为例,设置-->系统和更新-->语言和输入 阅读全文
posted @ 2020-09-15 17:28 给你一页白纸 阅读(1099) 评论(1) 推荐(1)
摘要:不依赖appium对手机页面元素进行定位; 真机测试时自动选择USB用于传输文件。使用adb命令在真机上安装app时,自动点击确认安装按钮。每天定时唤醒手机执行自动化测试时,偶尔会遇到真机重新弹窗提示进行USB用于选项的选择,需要选择USB用于传输文件,否则会执行失败。 阅读全文
posted @ 2020-09-09 15:37 给你一页白纸 阅读(621) 评论(0) 推荐(0)
摘要:app自动化测试过程中,经常会遇到滑动屏幕操作,appium框架的话我们可以使用webdriver提供的swipe()方法来对屏幕页面进行上滑、下滑、左滑、右滑操作。 一,swipe方法介绍 swipe()方法源码如下: swipe()方法的参数说明: start_x:起始横坐标 start_y:起 阅读全文
posted @ 2020-09-07 14:05 给你一页白纸 阅读(1499) 评论(0) 推荐(0)
摘要:一,selenium模块的两种截图方法 get_screenshot_as_file(filename) 参数filename为截图文件保存的绝对路径,如: driver.get_screenshot_as_file(r'E:/test_project/screenshot/test_01.png' 阅读全文
posted @ 2020-09-03 21:58 给你一页白纸 阅读(1950) 评论(0) 推荐(0)
摘要:在appium自动化测试脚本运行的过程中,因为网络不稳定、测试机或模拟器卡顿等原因,有时候会出现页面元素加载超时元素定位失败的情况,但实际这又不是bug,只是元素加载较慢,这个时候我们就会使用元素等待的方法来避免这种情况,增加代码的健壮性。 一,元素等待方法 1,强制等待 import time # 阅读全文
posted @ 2020-09-01 15:40 给你一页白纸 阅读(1236) 评论(0) 推荐(2)
摘要:对于Android而言,查找appUI界面元素属性的工具有三种:appium desktop,uiautomatorviewer.bat,weditor。之前已经介绍过了weditor的使用,这里我将通过使用uiautomatorview工具查看元素的属性值,来介绍Android app通过appi 阅读全文
posted @ 2020-08-29 14:55 给你一页白纸 阅读(1186) 评论(0) 推荐(1)
摘要:mac电脑安装appium,装好node.js后,使用命令:npm install appium@1.18.0,安装appium,报如下错误 ``` ERR! errno1 ERR! appium-chromedriver@4.25.1 postinstall: 'node install-npm. 阅读全文
posted @ 2020-08-24 22:11 给你一页白纸 阅读(1411) 评论(3) 推荐(0)
摘要:一,weditor的安装与使用 首选需要在电脑上配置好Python环境 下载安装命令如下,加上镜像下载速度更快: pip install weditor -i https://pypi.tuna.tsinghua.edu.cn/simple 启动weditor命令: python -m wedito 阅读全文
posted @ 2020-08-22 13:25 给你一页白纸 阅读(1385) 评论(0) 推荐(2)