Posts
Van 写字的地方
Cancel

一、抽象类 在实现UI自动化框架时,存在一个常见的情况,Android和iOS封装相同的接口,从而实现用例的一致性,如下是一个简单的示例: class AndroidClient: def open_app(self): # some code class IosClient: def open_app(self): # ...

【Day 6】关于我是如何干掉Appium和RobotFramework这件事的——使用sphinx自动生成API文档

一、安装sphinx 1、创建新项目 pip install sphinx mkdir doc cd doc/ sphinx-quickstart > Separate source and build directories (y/n) [n]: y > Project name: ClientEngine > Author name(s): Van > Pro...

【Day 5】关于我是如何干掉Appium和RobotFramework这件事的——python-wda查找速度优化

一、一次定位操作背后发生了什么 # 初始化wda_client import wda wda_client = wda.Client() # 调用查找元素 self.wda_client(label='登录') 这个行为会调用BaseClient类的__call__方法,返回一个Selector对象 class BaseClient(object) def __init__...

【Day 4】关于我是如何干掉Appium和RobotFramework这件事的——PO有向图

一、问题背景 先写一个简单的登录Action class UiClient: def __init__(self): self.client = wda.client() def login(self,username,password): self.client.input(帐号输入框, username) self.c...

【Python基础】为什么pip安装过的库,在import的时候还是报错——Python虚拟环境介绍

【问题描述】 最近收到一些同事们的疑问,为什么使用pip安装后的库,在PyCharm导入的时候还是会报 ModuleNotFoundError: No module named ‘xxx’ 如果只想简单粗暴的解决问题,以下方法二选一: (1)在当前项目下打开Terminal窗口,重新pip安装一次对应的库 (2)在Preferences中修改当前项目的Python Inter...

【Day 3】关于我是如何干掉Appium和RobotFramework这件事的——Android自动化

什么是uiautomator2 ​ 摘抄一段来自 uiautomator2 官方文档的介绍: UiAutomator是Google提供的用来做安卓自动化测试的一个Java库,基于Accessibility服务。功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作,但有两个缺点:1. 测试脚本只能使用Java语言 2. 测试脚本要打包成...

【Day 2】关于我是如何干掉Appium和RobotFramework这件事的——iOS自动化

​ 提到iOS自动化,必然绕不开的一个工具就是WebDriverAgent(后文简称 WDA),后续iOS自动化的设计也将围绕WDA进行。 什么是WDA ​ WebDriverAgent是Facebook制作的一款开源移动测试框架,支持真机和模拟器,官方Readme的介绍如下: WebDriverAgent 在 iOS 端实现了一个 WebDriver server ,借助这个 ...

【Day 1】关于我是如何干掉Appium和RobotFramework这件事的——环境准备

工具安装 虽说工欲善其事,必先利其器,但准备环境的文档在互联网上以多如牛毛,不再赘述。在此,只记录下需要准备的内容有哪些。 一个好用的Python IDE 个人习惯使用PyCharm, VS Code也是不错的选择。 Xcode ​ 在Mac上运行本工程,涉及iOS和Mac OS自动化,必须要安装Xcode。建议使用最新稳定版本,并更新全量iOS Support Files,更新方...

【Day 0】关于我是如何干掉Appium和RobotFramework这件事的——开篇

​ 起了个比较大的标题,我终于也变成了自己所不齿的那种标题党。还是解释一下,最近接手了一个项目,需要优化客户端自动化测试框架,而当前的自动化测试框架是基于Appium和RobotFramework。所以严谨一点来说,是在此记录一下,如何从现有自动化工程中解耦Appium和RobotFramework。毕竟它们经历了这么多年的发展,远非我一人的智慧能及,新的设计并不能取代这两个框架的地位。 ​...