前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorviewer.appium inspector. uiautomatorviewer 是Android sdk 自带的定位工具,元素层级展示清晰,但是定位不到内嵌H5页元素.appium inspector是appium上自带的定位功能,元素层级展示不够清晰,查看元素不够方便,但是可以定位到内嵌H5页元素…
做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 driver.find_element_by_id('su') 2.通过name定位 driver.find_element_by_name('mp') 3.通过class属性 driver.find_element_by_class_name('s_ipt') 4.通过文本链接 driver.f…
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件并生成测试报告. 简单实例 实例讲解 一. 项目路径获取 project_name:项目名称,需更换为自己项目的名称 project_path:项目路径,获取思路 os.path.abspath(__file__):获取当前文件路径 split(project_name)[0]:通过项目名切割出项目…
前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是如何实现自动化的. 前提:已安装配置好appium+python自动化环境 一.连接手机启动app 1,连接手机 -手机USB连接电脑 -手机打开开发者模式.USB调试功能 2,基础信息配置 基础连接信息如下(以叮咚app为例): 'platformName': 操作平台'deviceName':…
Appium简介 Appium是一个开源的.跨平台的测试框架,主要用来进行app UI自动化,适用于原生应用.混合应用和移动网页应用(H5页面).目前支持Python.JavaScript.Objective C.Java.Ruby.PHP.C#等多种语言. python+appium环境搭建 1,配置python环境 如何在Mac上配置python环境在以前的文章中有记录过,这里就不展开说明啦,有需要的可参考小编的文章:Mac版-python环境配置(一):Python下载安装.Mac版-py…
前提:需先安装配置好appium+python自动化环境,已配置好环境的小伙伴可以参考以下步骤启动Android app,具体步骤如下: 一.USB连接手机 (1)手机USB连接电脑 (2)手机打开开发者模式.USB调试功能 二.基础信息配置 1,获取设备号 终端获取设备号,指令:adb devices 2,获取apk包名.activity (1)打开终端 (2)输入指令“aapt dump badging /Users/alisa/Downloads/weixin_1520.apk” 备注:记…
很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍然无法定位)方法:根据实际目录,逐层输写.例子: find_element_by_xpath("/html/body/div[1]/span/input/a")  # div[1]指第1个元素二.相对路径(推荐使用) 方法:找到元素有”精准元素“即唯一能标识的属性: # 1.通过id定位(…
前言 unittest是python自带的单元测试框架,类似于Junit(Java单元测试框架).支持自动化测试,可编写测试前置&后置条件,并且可批量运行测试用例并生成测试报告. 使用unittest需遵循以下几点: 1,使用时需导入unittest模块 2,编写测试类,并继承unittest.TestCase 3,测试用例名字以test开头(unittest会自动将test开头的方法放入测试用例集中) 4,断言需用unittest断言格式 用法简介 一.前置&后置 unittest前后置…
1. 元素属性介绍 下图是通过weditor定位的微博的"我的钱包",各属性如下图: className:元素类型,如:XCUIElementTypeButton isEnabled:元素是否可点击,一般值为1或者0 isVisible:元素是否可见,一般值为1或者0 value: 一般不用 label:绝大多数情况下,与 name 作用一致 name:元素的文本内容,可用作 AccessibilityId定位方式 xpath: 元素的绝对路径,可用作Xpath定位方式 2. IOS的…
1.name定位 driver.find_element_by_id(') driver.find_element_by_id(') driver.find_element_by_name('登录').click() 所以,我们暂时可以把元素的text 属性看作name 来使用.如果你的app不能正常的定位元素,那就换其它定位方式吧. 2).id定位 driver.find_element_by_id('com.shanjian.originaldesign:id/edit_Tel').send…