Appium移动端自动化测试--使用IDE编辑并强化脚本
安装Python IDE-Pycharm和Java IDE编辑脚本,增加脚本的稳定性。
@
Appium客户端安装
上一节录制完成测试用例脚本,每种语言都有对应的客户端,如下; 接下来准备安装客户端。
Ruby: https://github.com/appium/ruby_lib
Python: https://github.com/appium/python-client
Java: https://github.com/appium/java-client
JavaScript(Node.js): https://github.com/admc/wd
Objective C: https://github.com/appium/selenium-objective-c
PHP: https://github.com/appium/php-client
C#(.NET): https://github.com/appium/appium-dotnet-driver
RobotFramework: https://github.com/jollychang/robotframework-appiumlibrary
安装Python IDE-Pycharm
知识点:
- 安装客户端:python -m pip install --upgrade pip
- Python多版本隔离工具:venv
- 测试框架:unittest、pytest、nose,特别推荐pytest
接下来我们安装IDE工具,此处使用的IDE是Pycharm。
PyCharm社区版足矣:https://www.jetbrains.com/pycharm/download/#section=windows
新建一个项目文件,并将之前录制好的脚本复制到项目中,由于创建的项目是一个隔离干净的Python环境,所以需要安装Appium-Python-client

打开CMD窗口并cd到虚拟项目的Scripts目录下
进行安装 pip install appium-Python-client,安装完成之红色报错消失。

接下来直接运行刚刚的脚本demo.py
可以看到虚拟机启动了雪球APP,并进行相应的操作。
Java IDE 安装
- IDE推荐:Intellij IDEA
- 配置Manven项目
- 在src/test下编写用例
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>${version.you.require}</version>
<scope>test</scope>
</dependency>
在GitHub上面有各个语言版本的用例模板。
https://github.com/appium/appium/tree/master/sample-code

使用隐式等待让用例更稳定
隐式等待
- 隐式等待:服务端(Appium)会在特定的超时时间内重试多次寻找空间(全局等待,设置一次,对所有的元素等待都生效);
- 显示等待:在客户端(用例端)根据更灵活的条件循环等待条件满足(局部等待,只对设定的等待生效,针对某些特殊的元素);
- 在示例代码中加入隐式等待,再次运行
Error:
在这里发现Android 10.0支持driver.implicitly_wait(10) 不是很稳定,卡了两个小时没搞定,干脆换成Android9.0之后就能够顺利运行了
启动Appium非GUI模式:Appium Server
启动Appium非GUI模式,看到所有的日志信息,为了更好的调试,告别desktop桌面模式,更轻量级。
打开CMD窗口,输入Appium,会出现已经启动Appium以及版本之类的信息。
打开已经创建的虚拟机
运行之前录制好的Demo脚本,可以看到CMD界面开始打印所有的日志。

Appium移动端自动化测试--使用IDE编辑并强化脚本的更多相关文章
- appium 移动端自动化测试工具
appium 移动端自动化测试工具 appium 移动端自动化测试工具 appium 是哟个自动化测试开源工具 支持ios和安卓平台的应用 以及web应用和混合应用 appium 是一个跨平台的工具: ...
- appium移动端自动化测试环境搭建windows-appium-android
第一步:安装jdk 安装jdk(1.7版本以上) 安装完成设置jdk环境变量(百度查询) cmd命令下键入 java -version命令检查jdk是否安装成功且设置环境变量成功,如下图所示: 第二步 ...
- appium 移动端自动化测试一
最近公司决定使用appium为主体框架做一个移动端得自动化测试系统,我会陆续记录项目得进展. 1.首先是appium环境得搭建, 需要安装appium-server ,appium-desktop, ...
- appium移动端自动化测试的一些感想
花了一个多月的时间来复习,学习appium+python+android的UI层的自动化测试. 从最开始的环境搭建,都后面运行脚本报错各类错,到优化脚本结构,基本上问题不断. 相比,selenium做 ...
- Appium移动端自动化测试-安卓真机+模拟器启动
一.环境准备 appium-pythin-client版本(0.17),selenium版本(2.53.6)(版本需对应,否则执行脚本可能出错,我用的是这两个版本) macOs版本10.14.1(ap ...
- Appium移动端自动化测试--搭建模拟器和真机测试环境
详细介绍安装Android Studio及Android SDK.安装Appium Server. 文章目录如下 目录 文章目录如下 模拟器--安装Android Studio及Android SDK ...
- appium ios端自动化测试配置
一.安装环境介绍macOS 10.12.4 Xcode 8.3.2 适用机型:iOS9 及以上机型 二.Appium源码安装Xcode升级8.2之后不再支持UIAutomation,转而使用XCUIT ...
- Appium移动端自动化测试--录制测试用例并运行
目录 文章目录如下 录制用例并执行 1.使用Appium desktop录制用例 2.安装Pythony依赖Appium-Python-Client 3.增加隐式等待增强稳定性 4.重新运行 文章目录 ...
- Appium移动端自动化测试--元素操作与触摸动作
常见自动化动作支持 click sendKeys swipe touch action 元素操作 1.click()点击操作 也可以用tab实现点击操作 driver.find_element_by_ ...
随机推荐
- 指数基金介绍专栏(4):上证50AH优选指数
作者:牛大 | 公众号:定投五分钟 大家好,我是牛大.每天五分钟,投资你自己:坚持基金定投,终会财富自由! 想必大家会有疑问,什么是上证50AH优选指数?今天老师给大家答疑解惑,详细介绍一下上证50A ...
- 洛谷 P1250 种树 题解
差分约束系统,维护前缀和,根据式子d[ b ] < = d[ e + 1 ] - t,可以看出要连e和b - 1,但占用了超级源点0,所以要把区间向后移,这样就可以用超级源点0来保持图的连通性( ...
- 微软安全技术Shim
Shim是微软系统中一个小型函数库,用于透明地拦截API调用,修改传递的参数.自身处理操作.或把操作重定向到其他地方.Shim主要用于解决遗留应用程序在新版Windows系统上的兼容性问题,但Shim ...
- POJ 1436.Horizontally Visible Segments-线段树(区间更新、端点放大2倍)
水博客,水一水. Horizontally Visible Segments Time Limit: 5000MS Memory Limit: 65536K Total Submissions: ...
- 转载:线性回归建模–变量选择和正则化(1):R包glmnet
2013-07-15 21:41:04 #本文的目的在于介绍回归建模时变量选择和正则化所用的R包,如glmnet,ridge,lars等.算法的细节尽量给文献,这个坑太大,hold不住啊. 1.变 ...
- sublime 添加到右键菜单
- vue data不可以使用箭头函数的问题解析
这篇文章主要介绍了vue data不可以使用箭头函数问题,本文通过源码解析给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 首先需要明确,a() {}和 b: () => {} ...
- 微信小程序开发:背景图片设置
本文链接:https://blog.csdn.net/michael_f2008/article/details/86543134开发微信小程序时,不能直接在wxss文件里引用本地图片,运行时会报错: ...
- CefSharp 提示 flash player is out of date 运行此插件 等问题解决办法
CefSharp 提示 flash player is out of date 或者 需要手动右键点 运行此插件 脚本 等问题解决办法 因为中国版FlashPlayer变得Ad模式之后,只好用旧版本的 ...
- Tomcat中加载不到项目 项目构建Deployment Assembly报错:The given project is not a virtual component project
转: The given project is not a virtual component project The given project is not a virtual compone ...