随笔分类 -  UI自动化

摘要:uiautomator简介 UiAutomator是Google提供的用来做安卓自动化测试的一个Java库,基于Accessibility服务。功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作,但有两个缺点:1. 测试脚本只能使用Java语言 2. 阅读全文
posted @ 2022-12-09 17:24 尘世风 阅读(1009) 评论(0) 推荐(1) 编辑
摘要:一、导入键盘事件 1.导入语句 想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写。Keys类中提供了几乎所有的键盘事件包括组合按键如 Ctrl+A、 Ctrl+C 等。 from selenium.webdriver.common.keys i 阅读全文
posted @ 2021-05-12 22:22 尘世风 阅读(954) 评论(1) 推荐(0) 编辑
摘要:Airtest是网易开发的手机UI界面自动化测试工具,它原本的目的是通过所见即所得,截图点击等等功能,简化手机App图形界面测试代码编写工作。 安装和使用 安装Airtest 从Airtest官网:https://airtest.netease.com下载Airtest,然后像安装普通软件一样安装即 阅读全文
posted @ 2021-03-25 22:00 尘世风 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:#目标 从源码制作出可运行APP,支持测试工作 各种自动任务 Daliy Build打包 Daliy Build发布 Daliy Build打包UI自动化测试 利用技术帮忙“做杂活” #优势 重复是劳动任务,减少人力成本,提升工作效率 Build不再是阻碍测试进度的因素 自动化重用率高,维护评率低 阅读全文
posted @ 2021-01-16 11:05 尘世风 阅读(533) 评论(0) 推荐(0) 编辑
摘要:pageobject设计思想出自于马丁·福勒(Martin Flower,对,没错,就是软件教父)官网的一篇文章,官网连接:https://martinfowler.com/bliki/PageObject.html 还有一篇针对官网文章的中文翻译版:http://huangbowen.net/bl 阅读全文
posted @ 2021-01-14 15:31 尘世风 阅读(366) 评论(0) 推荐(0) 编辑
摘要:#adb是什么 adb的全称为Android Debug Bridge,就是起到调试桥的作用。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。 #adb有什么用 借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等 阅读全文
posted @ 2021-01-14 10:55 尘世风 阅读(465) 评论(0) 推荐(0) 编辑
摘要:强制等待:sleep() import time sleep(5) #等待5秒 设置固定休眠时间,单位为秒。 由python的time包提供, 导入 time 包后就可以使用。缺点:不智能,使用太多的sleep会影响脚本运行速度。 隐式等待:implicitly_wait() driver.impl 阅读全文
posted @ 2020-10-28 01:08 尘世风 阅读(2051) 评论(0) 推荐(0) 编辑
摘要:要求: 需要退出当前所有的谷歌浏览器(特别注意) 找到chrome的启动路径 启动命令windows:chrome --remote-debugging-port=9222 启动命令mac:Google\ Chrome --remote-debugging-port=9222 配置环境变量 mac 阅读全文
posted @ 2020-10-23 00:06 尘世风 阅读(1396) 评论(0) 推荐(0) 编辑
摘要:文件上传 input标签可直接使用send_keys(文件地址)上传文件 self.driver.find_element_by_id('上传按钮id').send_keys('文件路径+文件名') 下面以百度图片搜索上传图片为例 #!/usr/bin/python # -*- coding: UT 阅读全文
posted @ 2020-10-18 10:55 尘世风 阅读(553) 评论(0) 推荐(0) 编辑
摘要:WebDriver提供了execute_script()方法来执行JavaScript代码 具体DOM操作使用方法见之前写的一篇博文:https://www.cnblogs.com/feng0815/p/8215768.html 关于Webdriver自动化测试之执行JavaScript脚本可直接参 阅读全文
posted @ 2020-10-17 20:23 尘世风 阅读(622) 评论(0) 推荐(0) 编辑
摘要:一、多窗口处理 在进行自动化测试的时候,经常会遇到点击一个连接或按钮后,会打开一个新的页面,需要我们在新的窗口进行操作,这个时候就需要使用Webdriver里的switch_to_window方法了 #!/usr/bin/python # -*- coding: UTF-8 -*- """ @aut 阅读全文
posted @ 2020-10-17 16:31 尘世风 阅读(603) 评论(0) 推荐(0) 编辑
摘要:TouchAction,类似于ActionChains,ActionChains只是针对PC端程序鼠标模拟的一系列操作,对H5页面操作是无效的。TouchAction可以对H5页面操作,通过TouchAction可以实现点击、滑动、拖拽、多点触控,以及模拟手势等各种操作。 关于 ActionChai 阅读全文
posted @ 2020-10-17 14:42 尘世风 阅读(1511) 评论(0) 推荐(0) 编辑
摘要:pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: 简单灵活,容易上手 支持参数化 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests) pytest具有很多第三方插件,并且可以 阅读全文
posted @ 2020-09-15 23:04 尘世风 阅读(4895) 评论(0) 推荐(0) 编辑
摘要:前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术。这样在网页加载完成后,url虽然不改变但是网页的DOM元素内容却可以动态的变化。如果处理这种网页是还用requests库或者python自带的urllib库那么得到的网页内容和网页在浏览器中显示的内容是不一致的。 解决方案 阅读全文
posted @ 2018-04-07 23:09 尘世风 阅读(5888) 评论(0) 推荐(0) 编辑
摘要:通过appium-desktop定位元素 ClassName Android Android的class属性对应ClassName定位方式,ClassName一般都是会重复的,可以通过index来获取需要的元素。(从0开始查找dom树中的同名class属性) iOS iOS的type属性对应CLas 阅读全文
posted @ 2018-03-03 11:58 尘世风 阅读(20406) 评论(0) 推荐(0) 编辑
摘要:Appium 初始化配置信息(Desired Capabilities),Desired Capabilities实际上就是一个字典,它主要用于向Appium Server提供初始化配置参数,如:想要测试的系统是Android还是IOS,测试哪款软件,软件的入口是哪里等。 这种服务关键字在网上很多, 阅读全文
posted @ 2018-02-27 23:14 尘世风 阅读(6660) 评论(1) 推荐(1) 编辑
摘要:手机App分为两大类,原生App(Native App)和混合APP(Hybrid App) 原生App(Native App) 原生App实际就是我们所常见的传统App开发模式,云端数据存储+App应用客户端。App应用客户端,包含了所有的UI元素、框架逻辑等。只有数据存储在云端。 混合App(H 阅读全文
posted @ 2018-02-03 00:50 尘世风 阅读(621) 评论(0) 推荐(0) 编辑
摘要:什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议大家安装火狐浏览器后,下载插件,FireFinder 或 FireBug和FirePath组合使用。 Css Selector使用方法 1、Css Sele 阅读全文
posted @ 2018-01-27 23:54 尘世风 阅读(3930) 评论(0) 推荐(0) 编辑
摘要:ActionChains 有时候我们在通过Selenium做UI自动化的时候,明明能够在DOM树内看到这个元素,但是我在通过driver click、sendkey的时候,就是点击不到或无法输入字符串。实际上这是由于WEB中某些元素需要通过一系列连贯的操作才能处于可以点击的状态,driver提供的c 阅读全文
posted @ 2018-01-24 23:54 尘世风 阅读(7000) 评论(0) 推荐(2) 编辑
摘要:浏览器操作 获取标签元素 获取标签元素常用的一共有8种定位方式,而Selenium实际提供了18种定位方式,还有8种是上面的复数形式,这里就不一一介绍了,实际运用中并不常用,还有2种实际上是这上面所说16种的底层封装。参数化的一种调用方式而已。 Cookie操作 窗口操作 截取当前页面 执行Java 阅读全文
posted @ 2018-01-23 11:53 尘世风 阅读(21054) 评论(0) 推荐(4) 编辑

*/