首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏测吧测试开发

    技术分享 | Appium环境安装与架构介绍

    Appium架构 Appium 设计哲学 不需要为了自动化而重新编译或修改被测应用 不应该让移动端自动化测试限定在某种语言或者某个具体的框架 不要为了移动端的自动化测试而重新造轮子 移动端自动化测试应该是开源的 Appium 架构 Appium 架构图如下: Appium 的核心是一个 Web 服务器,提供了一套 REST 的接口,接收到客户端的连接,监听到命令,在移动设备上执行这些命令,将执行结果放在 HTTP 事实上,这种客户端/服务端的架构给予了许多的可能性。可以使用任何实现了该客户端的语言来写测试代码,可以把服务端放在不同的机器上,可以只写测试代码,然后使用服务来执行命令。 Appium 引擎列表: Appium 支持的语言 Appium 支持如下语言编写测试用例: Appium 环境安装 Appium Windows 版本只支持 Android 系统,Appium Mac cnpm也就是国内源来安装,成功率… Appium 客户端安装(Python版本) 如果想要在代码中能够相关包,需要安装第三方库: pip install Appium-Python-Client Appium

    84240编辑于 2022-05-31
  • 来自专栏软件测试开发技术

    技术分享 | Appium环境安装与架构介绍

    原文链接 Appium架构 Appium 设计哲学 不需要为了自动化而重新编译或修改被测应用 不应该让移动端自动化测试限定在某种语言或者某个具体的框架 不要为了移动端的自动化测试而重新造轮子 移动端自动化测试应该是开源的 Appium 架构 Appium 架构图如下: [5dcf758f50bc22b3ff9223a1cf76e36fe12e2702.png] Appium 的核心是一个 Web 服务器,提供了一套 REST 事实上,这种客户端/服务端的架构给予了许多的可能性。可以使用任何实现了该客户端的语言来写测试代码,可以把服务端放在不同的机器上,可以只写测试代码,然后使用服务来执行命令。 Appium 引擎列表: [e97bc39104129e44f604a125fa92bb0809b8cd90.png] Appium 支持的语言 Appium 支持如下语言编写测试用例: [67e2b10ce48b6492c3d596d50b6e7ba51e667a6b.png ] Appium 环境安装 Appium Windows 版本只支持 Android 系统,Appium Mac 版同时支持 Android 系统 和 iOS 系统。

    40920编辑于 2022-05-31
  • 来自专栏从零开始学自动化测试

    Appium+python自动化11-adb必知必会

    前言 学android测试,adb是必学的,有几个常用的指令需要熟练掌握 一、检查设备 1.如何检查手机(或模拟器)是连上电脑的,在cmd输入: >adb devices 2.一定要看到上图红色区域的

    93460发布于 2018-04-08
  • 来自专栏测试邦

    Appium系列|Appium环境搭建(一)

    一.Appium简介 Appium是一种现在市面上很流行的自动化测试的工具,可以用来进行Android端、iOS端、Windows应用的自动化。 Appium的社区也是比较活跃的,版本一直在更新中。 如果你打算开展移动端的自动化的话,Appium会是个不错的选择。 Appium的官网如下: http://appium.io/ 本书籍使用到的相关工具可通过如下的百度网盘链接下载(如Android Studio、JDK等): https://pan.baidu.com /s/1mh9a4HE 源代码后续会托管到GitHub,大家在实践过程中可以去参考: https://github.com/if1else0/appium_tutorial1 如果你觉得看书还是太抽象的话 ,也可以通过网易云课堂搜寻 "Appium最佳实践"获取本书的视频课程: http://study.163.com/course/introduction/1004606011.htm 二、JDK安装与环境变量设置

    1.6K40发布于 2019-07-24
  • 来自专栏测试邦

    Appium系列|Appium环境搭建(二)

    环境变量验证可以重新打开一个终端,记得一定要新开一个 终端,执行下上面配置的文件里的命令如adb devices、aapt、uiautomatorviewer等,不会提示找不到该命令,说明配置成功,如下所示: 三、Appium Server安装 Appium是一种CS的架构,client端提供一些API供调用,然后和Appium Server通信,client端如果是使用maven来做构建的,到时候可以直接通过pom.xml 文件声明需要的用到依赖即可,当然也 可以直接下载对应的jar包,我们这里介绍Appium Server怎么安装。 Appium Server官方提供两种方式安装,一种是通过安装包方式进行安装,到时候提供的是可视化的界面操作,通过npm安装的方式后续我们有使用到在进行介绍。 可通过如下的连接下载得到(当前我使用的1.2.6版本,这个版本会一直在更新,大家可以先跟我的保持一致即可): https://github.com/appium/appium-desktop/releases

    1.3K40发布于 2019-07-24
  • 来自专栏测试邦

    Appium系列|Appium测试框架搭建(一)

    封装完后的测试代码如下(每个方法是干嘛的都有添加对应的注释): package appium.common; import io.appium.java_client.AppiumDriver; import DEFAULT_TIMEOUT = 5; private final long LONG_TIMEOUT = 10; //通过构造方法来初始化AppiumDriver对象引用,这样才能获得Appium ; import appium.common.Helper; import org.openqa.selenium.WebElement; public class PageCommon { ; import appium.common.Helper; import org.openqa.selenium.WebElement; public class PageMySettings { ; import appium.common.Helper; import org.openqa.selenium.WebElement; public class PageLogin {

    1.5K60发布于 2019-07-24
  • 来自专栏测试邦

    Appium系列|Appium测试框架完善(三)

    接着还需要新建一个类如RerunListener,然后让其实现IAnnotationTransformer接口,然后设置重试的处理类为上面新建的Retry类,具体如下: package appium.listeners ; import appium.common.Retry; import org.testng.IAnnotationTransformer; import org.testng.IRetryAnalyzer "/> <listener class-name="<em>appium</em>.listeners.RerunListener"/> </listeners> <test name=" Regression1"> <classes> <class name="<em>appium</em>.testcases.login.LoginPermissionCheck" /> <class name="<em>appium</em>.testcases.versioncheck.VersionCheck"/> </classes> </test

    77920发布于 2019-07-24
  • 来自专栏测试邦

    Appium系列|Appium测试框架搭建(二)

    这时候可以新建一个用来管理各个page类的类,后续 通过这个入口来获取需要的Page类主要就比较简洁,可以在common的包下新建应Page的管理类,如命名成PageHelper,具体的代码如下: package appium.common ; import appium.pages.PageCommon; import appium.pages.PageLogin; import appium.pages.PageMySettings; 然后在父类里也可以给Helper和PageHelper进行初始化,然后只暴露PageHelper的对象引用给所有的测试子类引用即可,这样每个测试子类就都会遵循POP模式,具体实现如下: package appium.common ; import io.appium.java_client.AppiumDriver; import io.appium.java_client.android.AndroidDriver; import

    69770发布于 2019-07-24
  • 来自专栏世平

    Appium安装

    1、安装环境 操作系统:Windows 10 企业版 Appium:AppiumForWindows_1_4_16_1 2、下载地址 https://bitbucket.org/appium/appium.app /downloads/ 选择下载:AppiumForWindows_1_4_16_1.zip 3、安装 (1)下载完成后,解压到本地; (2)双击安装程序,默认安装; (3)安装完成后,启动Appium 4、Appium介绍 Appium是用来做APP自动化测试的一个平台工具,他是开源的,可以用于自动化 iOS 手机、 Android 手机和 Windows 桌面平台上的原生、移动 Web 和混合应用。 Appium 的核心一个是暴露 REST API 的 WEB 服务器。它接受来自客户端的连接,监听命令并在移动设备上执行,答复 HTTP 响应来描述执行结果。 Appium官方文档地址:http://appium.io/docs/cn/about-appium/intro/ 我们可以从官方文档学习其安装和基本操作。

    93030发布于 2021-05-25
  • 来自专栏python爱好部落

    appium报错

    打开小米手机USB调试(安全设置)功能后,运行脚本成功安装Appium Settings和Unlock,并启动app ? ? 这么麻烦,我赶紧换了台手机来测试。

    1.8K10发布于 2020-05-19
  • 来自专栏雷子说测试开发

    Appium自动化(六)Appium启动app

    Appium系列分享 Appium自动化(一)常用的API接口 Appium自动化(二)常用的API接口 Appium自动化(三)常用的API接口 Appium自动化(四)常用的API接口 在之前文章有讲过环境搭建,appium 实现简易IOS app自动化测试demo和appium原理分析,那么我们这次去启动一个app,通过appium与设备app建立链接。 ? 在启动的app的过程中会安装 Appium Settings 和io.appium.uiautomator2.server两个apk,这是在appium启动中安装。 在启动过程中,我们可以看到appium的日志展示如下。 ? 这样我们一个简单的appium启动apk的demo就写好 了。 但是我们发现每次启动就会安装Appium Settings 和io.appium.uiautomator2.server,那么我们应该怎么办呢? 其实很简单。

    2.9K10发布于 2021-03-15
  • 来自专栏测试邦

    Appium系列|Appium测试框架完善(一)

    name="Suite1" verbose="1" > <test name="Regression1"> <classes> <class name="<em>appium</em>.testcases.login.LoginPermissionCheck "/> <class name="<em>appium</em>.testcases.versioncheck.VersionCheck"/> </classes> </test

    62730发布于 2019-07-24
  • 来自专栏自动化、性能测试

    Appium自动化(11) - 详解 Applications 类里的方法和源码解析

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 类在 appium\webdriver\extensions 下的 applications.py

    61130发布于 2020-06-09
  • 来自专栏测试邦

    Appium系列|Appium测试框架完善(四)

    http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.appium </groupId> <artifactId>appium</artifactId> <version>1.0-SNAPSHOT</version> <dependencies <scope>test</scope> </dependency> <dependency> <groupId>io.appium testng-1.0.dtd" > <suite name="Suite1" verbose="1" > <listeners> <listener class-name="<em>appium</em>.listeners.TestListener "/> <class name="<em>appium</em>.testcases.versioncheck.VersionCheck"/> </classes> </test

    66320发布于 2019-07-24
  • 来自专栏不想当开发的产品不是好测试

    appium教程_3.启动appium-server

    appium教程_3.启动appium-server 前言 一台电脑控制多台设备(ios+Android),每个设备的通信都是独立的appium-server,之前的想法是每个case会去启动/check appium-server是否启动,如果启动了就执行业务测试,没有启动的话就启动appium-server,经过一段时间的执行,最后还是通过supervisor把appium-server跟业务代码解耦开了 命令行 前面有提到过,执行appium就start了appium server,但实战的时候肯定没这么简单,需要加上一些参数,直接appium -h 就可以看到可以加上哪些参数,实际运行的参数如下: http://appium.io/docs/en/writing-running-appium/server-args/index.html 实际例子如下: appium --session-override 但有个问题,如果appium server端异常,日志就会GG,case如下: 窗口A 执行 appium -g /path/test.log 窗口B 同样执行 appium -g /path/test.log

    2K21发布于 2020-10-10
  • 来自专栏Titan笔记

    Appium移动测试入门指南(一)- Appium概述

    什么是Appium Appium 是一个开源测试自动化框架,用于原生、 混合和移动 Web 应用程序。它使用 WebDriver 协议驱动 iOS、Android 和 Windows 应用程序。 Appium-2.png Appium支持的自动化测试引擎列表 Appium的最新版本(截止Titan笔记发文时的版本号为1.22.0)支持以下的自动化测试引擎 Android Espresso Selendroid Appium的生态工具 Android 调试桥 (adb): 是一种功能多样的命令行工具,可让您与设备进行通信 Appium Desktop:内嵌了Appium Server和Inspector的综合工具 Appium Server:Appium的核心工具,命令行 Appium Client:各种语言的客户端封装库,用于连接Appium Server 支持的语言有Python、Java、Ruby、RobotFramework-Appium AppCrawler:自动遍历工具 Appium依赖环境 Java 1.8版本 Android SDK Node.JS >= 10,npm >= 6 Python3 Appium-Desktop Appium

    6.1K11发布于 2021-10-20
  • 来自专栏测试邦

    Appium系列|Appium测试框架完善(二)

    ITestListener,这时候可以新建一个包如listeners,然后新建一个类如TestListener,让该类实现 ITestListener这接口,然后复写这个接口的方法,如下所示: package appium.listeners 错误截图需要使用到Driver对象的引用,这时候需要去测试父类了添加一个静态的方法来返回Driver的对象引用,更新完的父类如下: package appium.common; import io.appium.java_client.AppiumDriver ; import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.remote.DesiredCapabilities testng-1.0.dtd" > <suite name="Suite1" verbose="1" > <listeners> <listener class-name="<em>appium</em>.listeners.TestListener "/> <class name="<em>appium</em>.testcases.versioncheck.VersionCheck"/> </classes> </test

    1.2K30发布于 2019-07-24
  • 来自专栏编程一生

    系统架构11条原则

    原则三:分治原则 解析: 做架构时不要想着一次性把所有的功能都做好,要拥抱 MVP(Minimal Viable Product),最小可运行版本。 原则五:拥抱变化 解析: 重视架构扩展性和可运维性。无状态的系统的是可扩展的和直接的。任何时候都要考虑这一点,不要搞个不可扩展的,有状态的东东出来。否则,一旦需要改变,成本很高。 如果不能降低人力成本,反而需要更多的人,那么这个架构设计一定是失败的。 稳定性原则 原则八:依赖最简 解释: 依赖原则是去除依赖、弱化依赖、控制依赖。多一个依赖多一分风险。 如果一件事情有可能发生则在生产环境中一定会发生,架构中要做好容错设计。 原则十一:用成熟的技术 解析: 不要给别人的技术当小白鼠,不要因技术本身的问题影响系统的稳定。

    69320编辑于 2022-05-06
  • 来自专栏QA一隅

    Appium滑动操作

    Appium中模拟用户滑动操作需要使用swipe方法,该方法定义如下: def swipe(self, start_x, start_y, end_x, end_y, duration=None

    1.3K30发布于 2021-08-09
  • 来自专栏闲余说

    架构设计 11-可扩展架构之微内核架构

    导读:《架构设计》系列为极客时间李运华老师《从0开始学架构》课程笔记。本文为第十一部分。主要介绍了如何面向功能拆分架构,首先介绍了微内核架构的基本架构设计,以及几种常见架构的实现与特点。 关注本公众号 回复 “架构设计” 获取架构设计笔记完整思维导图 基本架构 两类组件 核心系统(core system) 负责和具体业务功能无关的通用功能: 模块加载 模块间通信 插件模块(plug-in 常见架构 OSGi 架构 OSGi 的全称是 Open Services Gateway initiative,本身其实是指 OSGi Alliance。 现在我们谈论 OSGi,已经和嵌入式应用关联不大了,更多是将 OSGi 当作一个微内核的架构模式。 逻辑架构 模块层(Module 层) 模块层实现插件管理功能。 实现 插件管理 规则引擎中的规则就是微内核架构的插件,引擎就是微内核架构的内核。规则可以被引擎加载和执行。 规则引擎架构中,规则一般保存在规则库中,通常使用数据库来存储。

    1.1K20编辑于 2022-08-19
领券