09 2020 档案
摘要:做APP的UI自动化测试时,我们往往会使用真机跑自动化测试脚本,因为这样才是最真实的使用场景。但前期调试脚本的话,可以先使用模拟器,这样相对更加方便。 不推荐使用Android SDK里自带模拟器,太卡。 这里介绍两款我正在用于做自动化测试的模拟器:Genymotion 与 夜神模拟器。 一,Gen
阅读全文
摘要:一,前言 在之前的appium自动化测试示例中,我们都是把构造driver实例对象的数据(即Desired Capabilities)写在业务代码里,如下: # -*- coding:utf-8 -*- # @author: 给你一页白纸 from appium import webdriver d
阅读全文
摘要:上一篇笔记记录了Python中的pyyaml库对yaml文件进行读写,但了解到ruamel.yaml也能对yaml文件进行读写,于是想尝试一下它的用法。 一,注意 这里首先要更正一下网上大部分博客的说法:使用PyYAML写入时不是yaml的标准形式。例如使用PyYAML将字典嵌套字典的数据写入yam
阅读全文
摘要:一,前言 在app自动化测试的过程中经常会遇到需要对toast进行定位,最常见的就是定位toast或者获取toast的文案进行断言,如下图,通过定位"登录成功"的toast就可以断言今日头条登录用例是否通过。但toast区别于控件元素,无法获取焦点,不能通过uiautomatorviewer.bat
阅读全文
摘要:在使用appium做app自动化测试的过程中,可能会遇到元素的属性值不是唯一的情况,导致不能通过find_element_bi_xx()方法定位元素,这个时候我们就可以通过坐标来定位元素。 1,通过绝对坐标定位(不推荐) 在手机(或模拟器)的开发者选项里打开指针位置,任意点的绝对坐标都能获取到,如下
阅读全文
摘要:appium做app自动化测试过程中,有时需要获取控件元素的坐标进行滑动操作。appium中提供了location方法获取控件元素左上角的坐标,再通过size方法获取控件元素的宽高,就可以得到控件元素更多的坐标。 一,获取元素坐标的方法 1,size获取元素的宽、高 ele_size = drive
阅读全文
摘要:对控件元素进行滑动、拖拽操作,九宫格解锁,手势操作等。这些需要针对控件元素的滑动操作,或者点至点、元素至元素之间的滑动操作,使用swipe方法显然不是很方便,这时候就可以用到appium里提供TouchAction类和MulitAction类。
阅读全文
摘要:问题:用appium进行真机调试后,使用手机的app进行输入时无法调出键盘。 原因:appium调试时,将手机输入法设置成了Unicode IME 解决方法: 方法一,手机设置里修改输入法: 不同的手机型号、系统设置的步骤可能不同,以华为Magic3.1.0为例,设置-->系统和更新-->语言和输入
阅读全文
摘要:Python中yaml文件的读写(使用PyYAML库)。
最近在搭建自动化测试项目过程中经常遇到yaml文件的读写,为了方便后续使用,决定记下笔记。
阅读全文
摘要:不依赖appium对手机页面元素进行定位;
真机测试时自动选择USB用于传输文件。使用adb命令在真机上安装app时,自动点击确认安装按钮。每天定时唤醒手机执行自动化测试时,偶尔会遇到真机重新弹窗提示进行USB用于选项的选择,需要选择USB用于传输文件,否则会执行失败。
阅读全文
摘要:FATAL: Unable to delete script file /var/folders/__/x9pk6npn47g1g4t_n7t6h_t80000gn/T/jenkins5263477407196692208.sh. hudson.remoting.ChannelClosedException: Channel "unknown": Remote call on app-ui-test failed. The channel is closing down or has closed down.
阅读全文
摘要:app自动化测试过程中,经常会遇到滑动屏幕操作,appium框架的话我们可以使用webdriver提供的swipe()方法来对屏幕页面进行上滑、下滑、左滑、右滑操作。 一,swipe方法介绍 swipe()方法源码如下: swipe()方法的参数说明: start_x:起始横坐标 start_y:起
阅读全文
摘要:一,selenium模块的两种截图方法 get_screenshot_as_file(filename) 参数filename为截图文件保存的绝对路径,如: driver.get_screenshot_as_file(r'E:/test_project/screenshot/test_01.png'
阅读全文
摘要:在appium自动化测试脚本运行的过程中,因为网络不稳定、测试机或模拟器卡顿等原因,有时候会出现页面元素加载超时元素定位失败的情况,但实际这又不是bug,只是元素加载较慢,这个时候我们就会使用元素等待的方法来避免这种情况,增加代码的健壮性。 一,元素等待方法 1,强制等待 import time #
阅读全文