不走弯路!记一个Appium框架运行的实例

news2024/11/24 15:45:47

目录

       前言:

  一、框架环境安装

  二、测试流程操作

  1、安装APK

  2、启动

  3、服务参数配置

  4、脚本录制操作

  5、脚本编写

  6、脚本执行

  三、测试总结   


       前言:

          Appium是一个开源的自动化测试框架,用于移动应用程序的自动化测试。它支持在iOS和Android平台上进行原生应用、混合应用和移动网页的自动化测试。使用Appium,您可以编写测试脚本来模拟用户在移动设备上的操作,如点击、滑动、输入文本等。这些脚本可以运行在真实设备或模拟器上,并能够检测应用程序的响应和功能。

  一、框架环境安装

  环境搭建需要具备以下软件,如下表:

  环境配置略微复杂些,涉及到多个软件的安装及参数配置等,可参考网上Appium搭建文文档,环境搭建不属于本篇文章的重点,不再赘述。

  二、测试流程操作

  1、安装APK

  打开模拟器,安装好自己要测试的app包 。

  2、启动

  打开Appium-desktop,启动服务,提示the server is running,即为启动成功。

  3、服务参数配置

  接下来就要进行服务参数配置了,选择本地服务,详细配置参数如下:

  ·platformName:平台的名称(iOS, Android, or FirefoxOS)

  ·platformVersion:移动设备的系统版本号,7.1, 4.4

  ·deviceName:设备名称

  ·appPackage:要启动的包名称

  ·appActivity:要启动的Activity(应用入口)

  以上这些服务参数配置均可通过命令在控制台查看到,首次配置后可以进行下保存,以便下次再次使用方便。

  4、脚本录制操作

  点击start session后,就进入到脚本录制和元素定位的页面了,如下图。在这个页面我们可以根据测试需要进行元素的点击,输入文本等操作,形成一个测试脚本(可以指定语言)。

  在模拟器操作后,点击appium-desktop界面的刷新按钮,可以将界面同步到操作屏上点击录制按钮,在操作截屏上点击抓取元素,中间App Source显示界面xml代码,右边是元素的具体信息,Recorder上展示录制代码。左边操作截屏上点击元素不会真正的点击,只是选中的元素,右边会展示元素的定位,点击右边的tap才会真实点击,点击sendkeys表示输入文本。

  我在此进行了输入框的点击,输入,点击“搜索”按钮操作,且将操作的脚本都录制了下来,选用的是Java语言。

  5、脚本编写

  打开IDEA,新建一个maven工程,然后将上一步骤录制的脚本copy到脚本的“sampleTest”部分,复制过来录制的脚本代码有时候可能需要再修改下。上面的setUp类是app的启动参数配置,这部分直接修改下就可以。另外,在pom文件中别忘了引入相关依赖。

  6、脚本执行

  执行脚本,可看到模拟器上会执行刚才录制的操作回放,最后执行通过后,脚本会展示passed,同时模拟器回放完毕。

  三、测试总结   

  通过Appium自动化测试的实例运行,我们也会对Appium测试框架有个更深刻的了解,其实基础的案例运行并不难,可能难点还是在后续你的案例设计上。我在实际操作中也有了很多弯路,包括环境搭建时个软件版本之间不兼容、脚本执行时初始化界面和运行不一致等等,但最终这些都是可以解决的。希望大家都能够亲自操作下,从框架搭建到脚本执行,一定会有很多的收获。

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N5F7http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=hIqEQD5B5ZyLT0S-vFq64p5MCDBc8jJU&authKey=O%2B3T95fjNUNsYxXnPIrOxvkb%2BbuFd1AxuUP5gCbos34AQDjaRG2L6%2Fm9gGakvo94&noverify=0&group_code=574737577

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/666541.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python:使用Scikit-image库的slic函数分割遥感图像

作者:CSDN @ _养乐多_ 本文记录了使用Scikit-image库的skimage.segmentation模块中的slic函数,进行超像素分割的代码。 文章目录 一、slic函数详解二、代码一、slic函数详解 在Scikit-image库的skimage.segmentation模块中,slic函数用于进行超像素分割。该函数的参数含义如…

62、基于51单片机手机APP蓝牙调试助手控制四个LED灯的开关系统设计(程序+原理图+PCB源文件+Proteus仿真+外文文献翻译+元器件清单等)

方案选择 单片机的选择 方案一:AT89C52是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元…

CRM选型之CRM系统要不要自研

如今在外部激烈的竞争环境下,CRM因其具有有效管理客户资源,提升客户体验和满意度的能力,而逐渐成为了企业在运营中必不可收的一部分。然而,在引入CRM系统时,企业面临着选型难题:是自研还是购买第三方的CRM系…

Qt利用paintEvent绘制双Y轴坐标折线图

在项目中,根据需求需要开发双Y轴坐标折线图,但是由于它有多个图层,如果使用QChart绘制的话,达不到需求的要求,只能自己绘制,具体的利用translate()接口将坐标系统移动到界面的左下角(30, height() - 50)处&…

IDEA启动终端报错: Cannot open Local Terminal Failed to start ***

1.问题 打开IDEA后,启动终端发现终端报错没有办法正常使用,错误提示 Cannot open Local Terminal Failed to start [powershell.exe] in D:\vue_admin Error running process: CreateProcess failed. Code 2 See IDE log (Help | Show Log in Explorer…

开源创新,燃起未来的火花

尊敬的各位嘉宾、领导、专家、企业代表、优秀开发者和创新人才们: 在2023年6月11日至13日,开放原子全球开源峰会盛大召开,汇集了众多业界精英和开源领域的专家学者,为探索开源创新的辉煌未来共同助力。作为一名开源技术爱好者&am…

开放式耳机的优缺点有哪些?目前有什么开放式耳机推荐?

什么是开放式耳机? 从名字上理解就是开放样式的耳机,其实也确实如此,开放式耳机是不需要封闭耳道来传输声音,主要是通过耳骨振动传递或者声波震动耳膜,两者声音传递的方式都不用完全封闭耳道,可以让耳道对…

COMSOL导入图片几何模型-以二维多孔介质为例

建模教程 首先获取一张多孔介质图片,这里就以COMSOL官网教程图片为例 通过软件将png格式的图片转换为DXF格式文件,也就是AutoCAD支持的文件: 下一步打开COMSOL软件建立二维模型,导入事先准备好的dxf模型,需要注意导入…

C++中String的语法及常用接口的底层实现详解

在C语言中,我们知道处理字符串所用的类型是 char []或者char* 。字符串是以‘\0’结尾的。在C中,string 是一个标准库类(class),用于处理字符串。它提供了一种更高级、更便捷的字符串操作方式,string 类提供…

mysql 开启binlog

1)检查binlog功能是否有开启 mysql> show variables like log_bin; ---------------------- | Variable_name | Value | ---------------------- | log_bin | OFF | ---------------------- 1 row in set (0.00 sec) (2)如果显…

用视频制作gif动画的小窍门!知识分享

Gif动画图片是当下最为流行的一种图片格式,它的内容丰富画面生动,能够快速抓住人们的眼球。有非常好信息传递效果,但是很多小伙伴不知道这种gif动画怎么制作的。别担心,接下来小编就跟大家分享一下利用视频制作gif动画的小窍门&am…

Docker Compose资源限制

一、资源限制原因: 防止容器占用过多资源,影响其他容器或宿主机保证容器稳定运行,避免OOM等情况.OOM现象:根据优先机制kill掉宿主机上最高的进程从而来释放空间,只要是宿主机的进程都可能被kill掉的。进行资源隔离,提高安全性 二、Docker Com…

eclipse (C/C++) 常用设置记录

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台;现公司用其作为开发单片机的IDE;因此记录一下常用的配置方法; 文章目录 零、常用默认快捷键一、高亮相同变量二、修改高亮变量颜色三、在整个工程内搜索某个函数四、切换主题五、改变字…

主分区,逻辑分区,扩展分区有什么区别

1.地位不同 逻辑分区属于扩展分区,扩展分区属于主分区。 给新硬盘上建立分区时都要遵循以下的顺序:建立主分区→建立扩展分区→建立逻辑分区→激活主分区→格式化所有分区。 2.位置不同 主分区又叫做引导分区,最多只能创建四个。 扩展分…

软考A计划-系统集成项目管理工程师-信息化知识(四)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

人机接口回路原理(一)

一、人机接口框图 一般来说,微机保护的人机接口回路是指键盘、显示器及接口 CPU插件电路。人机接口回路的主要作用是通过键盘和显示器完成人机对话任务、时钟校对及与各保护CPU插件通信和巡检任务。在单CPU结构的保护中,接口 CPU就由保护CPU兼任。为了减…

什么是IO Pad?

1.什么是IO pad? IO pad是一个芯片管脚处理模块,即可以将芯片管脚的信号经过处理送给芯片内部,又可以将芯片内部输出的信号经过处理送到芯片管脚。输入信号处理包含时钟信号,复位信号等,输出信号包含观察时钟、中断等…

详细介绍Eclipse控制台Console使用说明

1.说明 本文详细介绍Eclipse控制台Console使用说明, 调试时通过控制台查看日志, 有时候日志太多会找不到上面的日志, 有时候几个控制台会不受控制的弹出, 那么请参考本文, 通过调整Eclipse控制台, 更高效方便的查看日志…

高效项目评审的6大注意事项

评审活动是软件项目降低风险的重要手段,但在实际评审活动中往往因主题不明确、现场争执不停,主持人无法有效控制会议流程等问题,最终导致项目评审活动效果大打折扣。 那么在项目评审过程中有什么注意事项,有助于完成高效的评审会议…

软件测试技能,JMeter压力测试教程,正则表达式提取(三)

目录 前言 一、场景案例 二、登录请求 三、正则提取器 四、引用参数 前言 接口关联,上一个接口返回的 token 作为下个接口的入参,除了前面一篇讲到的用 json 提取器提取,也可以用正则提取 json 提取器只能提取 json 格式的数据&#x…